Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не соответствие времени реакции 
V
    Опции темы
bars80080
Дата 16.10.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



такая проблема:

часть объектов выложил на собственные слои и применил к ним трансформацию движения. так было гораздо проще, чем писать для них уравнения движения
но множество других мелких объектов (снежинки) размножил програмно и также заставил их двигаться, иначе и не сделаешь, слишком много их.
заставил их откликаться на смену кадров таким образом:

Код
var c = 1;
_root.onEnterFrame = function(){
    if(c == 18) { showef1(); }
    else if(c == 460) { lastSnowF(); }
    c++;    
};

т.е. вызов функции на 18 кадре и на 460

и тут заморочка. вот зрительно вижу, что сработка функции происходит в разное время, иногда до, иногда после события под которое подстраиваю. (событие - приход одного объекта находящегося в трансформации в нижнюю точку полёта)

в общем, непонятно. надо делать только в ручную или через скрипт? а вместе нельзя?

(Flash8 AS2)

Это сообщение отредактировал(а) bars80080 - 16.10.2008, 16:46
PM MAIL WWW   Вверх
Maksys
Дата 17.10.2008, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



может просто проц не справляеться? потому что все знают что понятие времени во флеше зависит от количества объектов, которые нужно обработать


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
Caramel
Дата 17.10.2008, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4190
Регистрация: 7.8.2004
Где: Дюссельдорф

Репутация: нет
Всего: 142



Maksys, мне тоже кажется, что дело в процессоре. Столько объектов - вполне возможно перегрузка.
PM MAIL WWW Skype   Вверх
bars80080
Дата 17.10.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



так, вот получилось на данный момент:

http://turne-trans.ru/site/swf/ban_for_tt1.html

всего снежинок - четыре, общим объёмом менее 9кБ, они аттачатся в группу из ста штук, который падает снегом. в конце устраивается пурга ещё на 100 штук. скорость 24 к/с. во время показа ролика у меня процессор показывал 10-16% (при том что 0-4% это колебания на чистом рабочем столе), на время пурги - до 28%. а затем закрыл пару окон ИЕ и вообще перестал на неё реагировать, колеблется 0-4% и всё.

поэтому всё же не понимаю в чём проблема расхождения события по кадрово и действия функции из программы по кадрово


PM MAIL WWW   Вверх
Fiyanov
Дата 20.10.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



Просто глюк _root.onEnterFrame...

А можно код

showef1(); 
и
lastSnowF(); 

Опоздание могу обьяснить тупым неуспеванием FlashPlayer сделать обьекты... То есть основной мультик играеться дальше, а на создание твои спецэффектов уходит время. Попробуй снежинки создать ДО пурги smile
PM MAIL ICQ   Вверх
bars80080
Дата 20.10.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



а всё происходит до

в первом кадре аттачатся снежинки, а дуновение ветра, которое я пытался синхронизировать с движением слова по трансформации движения, - программное изменение направления полёта. один и тот же процесс получается в разных прогонах затрачивает разное время


странно, сейчас помотрел как это выглядит в реале в браузерах, разницы не заметил
разница получается только во внутреннем проигрывателе macromedia flash 8, причём проявляется, когда повторно жмёшь ctrl+enter и он совершает долгую подгрузку, имитируя загрузку с сервера


то есть внутренний глюк. а так всё хорошо

код, если кому ещё нужно:
Код

var c = 1;
_root.onEnterFrame = function(){
    if(c == 14) { showef1(); }
    else if(c == 70) { showef2(); }
    else if(c == 140) { showef3(); }
    else if(c == 205) { showef4(); }
    else if(c == 270) { showef5(); }
    else if(c == 340) { showef6(); }
    else if(c == 405) { showef7(); }
    else if(c == 450) { lastSnow = false; }
    else if(c == 470) { dopSnowF(); }
    else if(c == 490) { lastSnowDop = false; }
    else if(c == 530) { clearInterval(bm); }    
    c++;    
};
link.onPress=function(){
    getURL('http://traveltoaustria.ru/', '_blank');
};
var bs = [], bx = [], by = [], bzx = [], bzy = [], bY = []; var bum = 100, bl, bm;
var k, k1, lastSnow = true, dopSnow = false, lastSnowDop = true;
var ds = [], dx = [], dy = [], dzx = [], dzy = []; var dum = 100, dl, dp;
for(i = 0; i < bum; i++) {
    bl = Math.round(3*Math.random()) + 1;
    bs[i] = attachMovie('qa' + bl, 'bw' + i, -16384 + (i*2));
    bs[i]._width = 10*Math.random() + 10; bs[i]._height = bs[i]._width;
    bs[i]._x = -50 + 900*Math.random(); bzx[i] = bs[i]._x;
    bs[i]._y = -120 + 100*Math.random(); bzy[i] = bs[i]._y;
    by[i] = 1 + 3*Math.random(); bY[i] = by[i]; bx[i] = 0;
}
bm = setInterval(snow, 40);
function snow() {
    for(i = 0; i < bum; i++) {
        if(lastSnow && (bs[i]._y > 100 || bs[i]._y < -120 || bs[i]._x < -50 || bs[i]._x > 850)) { 
            bs[i]._x = bzx[i]; bs[i]._y = bzy[i]; by[i] = bY[i]; bx[i] = 0; }
        bs[i]._y += by[i]; bs[i]._x += bx[i];
    }
    if(dopSnow) {
        for(i = 0; i < dum; i++) {
            if(lastSnowDop && ds[i]._x > 800) { ds[i]._x = dzx[i]; ds[i]._y = dzy[i]; }
            ds[i]._y += dy[i]; ds[i]._x += dx[i];
        }    
    }
}
function dopSnowF() { 
    for(i = 0; i < dum; i++) {
        dl = Math.round(3*Math.random()) + 1;
        dp = -16384 + (bum*2) + (i*2);
        ds[i] = attachMovie('qa' + dl, 'dw' + i, dp);
        ds[i]._width = 30*Math.random() + 20; ds[i]._height = ds[i]._width;
        ds[i]._x = -800 + 800*Math.random(); dzx[i] = ds[i]._x;
        ds[i]._y = 150*Math.random(); dzy[i] = ds[i]._y;
        dy[i] = -1; dx[i] = 60 + 30*Math.random(); 
    }
    dopSnow = true;
}

function showef1() {
    for(i = 0; i < bum; i++) {
        if(bs[i]._x > 150 && bs[i]._x < 630 && bs[i]._y < 50 && bs[i]._y > 0) { 
            rd = (bs[i]._x - 400)/20;
            bx[i] = rd; by[i] = -4; }}
}
...



Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ban_for_tt1.rar 28,86 Kb
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.