![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Всем привет.
На этапе тестирования проекта столкнулся с такой проблемой: Игра имеет функцию AutoPlay, в режиме которого может играть слот машина (игровой автомат). Программная реализация автоигры заключается в автоматическом вызове события кнопки "StartSpin" и никаких премудростей в себе не несет. Однако, в то время, как за самой игрой "недоброго" замечено не было, автоигра иногда просто не срабатывает: например, отыграла десять игр и тихонько себе остановилась. Тестируется это дело на довольно слабых для флэша машинах с большой загрузкой ЦП. Количество динамически меняющейся графики - большое. Так что хотелось бы услышать ваши соображения по поводу двух вопросов: 1. Может ли флэш-плеер игнорировать (пропускать) вызов участков кода, когда ему катастрофически не хватает ресурсов, или это может делать сам браузер (тестируется под IE). 2. Если запрос на сервер не прошел, всегда ли генерируется событие IOErrorEvent.IO_ERROR или это может пройти "по тихому", и есть ли смысл обрабатывать событие HTTPStatusEvent.HTTP_STATUS, назначение которого я, честно говоря, так и не понял ![]() |
|
|||||
|
strange mood
|
с сегодняшнего башорга
![]() Пишу прогу которая через определенные промежутки времени пингует сайты из списка, но вот незадача — постоянно по какойто причине через абсолютно случайные промежутки времени таймер останавливается. Решение было однозначным! Я поставил второй таймер который проверяет работает-ли первый ![]()
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
Цитата:
У меня был загрузчик картинок, грузились по-очереди и сразу после загрузки создавался 3d-объект на основе загруженной картинки. Так вот, интересная вещь. Если во время загрузки водить мышкой туда-сюда по stage, то загрузка на какой-либо картинке просто останавливалась (картинок около 200) и, соответственно, дальше ничего не происходило. Причем ошибки не было при тесте во Flash IDE, я подумал про GC, но не нашел причин в этом направлении. Причем во время загрузки mouseEnabled был отключен. Возможно, это связано с тем, что во время создания 3D объекта затрачивалось много ресурсов процессора и, действительно, асинхронный кусок кода пропускался. В общем, так и не понял пока. Всегда. |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
GAIKER, это, бесспорно, выход
))А если серьезно, я про игнорирование кода вот чего вспомнил: у меня друг писал проектик на AS2 еще, в котором летало N самолетов, каждый из которых мог выпускать ракеты. Самолеты могли гоняться друз за другом, ракеты - тоже были аля с тепловым наведением, в общем - куча тригонометрии и вычислений. Машина у него была - кажется 800-й Duron, или Celeron. Так вот, пока на сцене присутствовало несколько самолетов - все было здорово - они честно гонялись друг за другом, старались зайти друг другу в хвост и выпустить ракету, но с увеличением кол-ва самолетов случалось такое, что ракеты появлялись, но никуда не летели (не срабатывал их onEnterFrame), однако если самолет сам на них натыкался - честно взрывался. В общем воздушный файтинг превращался в морской бой с минным полем из ракет ) |
|
|||||
|
Интересно, а что произойдёт, если использовать только один onEnterFrame, в котором вызывать Update каждого объекта? Может быть это выход? Или нет? (:
__________________
while(1) {} |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Кстати интересный вопрос, Division. А что вообще происходит со всеми этими onEnterFrame'ми после компиляции? Они сливаются в один поток, или каждый onEnterFrame есть отдельная нить потока? Кто прольет свет на этот вопрос?
![]() |
|
|||||
|
Modus ponens
|
Ентерфрейм может пропускаться если ресурсов не хватает, а время ожидания превышено на столько, что играть уже нужно не следующий фрейм, а через один, два ++.
__________________
Hell is the possibility of sanity |
|
|||||
|
стервочка (я мужик)
|
wvxvw, вот не надо, а? enterFrame срабатывает как только сменился кадр. то что он может сменить хз когда, это другой вопрос.
|
|
|||||
|
Modus ponens
|
если кадр не успевает отобразиться, то в критических ситуациях плеер его просто промотает, и никакого ентерфрейма тоже, соответственно не будет. Такая ситуация возможна, когда у тебя есть в мувике заембеденный звук / видео.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
т.е. выполнится все, только вопрос, когда? Я правильно понимаю? В итоге может получится неслабая рассинхронизация всего процесса, так? Ну собственно кадр то у меня везде один... а вот анимация кручения барабанов - программная, и ENTERFRAME висит на каждом колесе барабана (т.к. каждое колесо - экземпляр класса) (а всего их 5)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|