Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   работа с таймером (http://www.flasher.ru/forum/showthread.php?t=209814)

delphic 25.12.2014 11:09

работа с таймером
 
Здравствуйте, такой у меня есть вопрос, например на уровне есть предметы,которые двигаются, задумал сделать задержку, вспомнил о таймере, но вот есть такое но - если допустим на уровне два предмета с задержкой в движении, это что нужно два таймера создавать, а если на уровне много предметов с задержками.. и вот что то в голову не приходит как можно упростить, например на несколько предметов вешать, еще смысл такой что у каждого предмета может быть своя задержка по времени или например своя траектория движения
У кого какие мысли есть на сей счет?

PainKiller 25.12.2014 11:39

Вы довольно сумбурно изложили свои мысли, тем более без кода, какой вопрос, такой и ответ. Можно вешать на 1 таймер обработку нескольких предметов (тогда задержка у них будет синхронная). Можно написать функцию в которой будет создаваться локальный таймер с нужной по времени задержкой, который будет отрабатывать на каждом конкретном предмете (в этом случае нужно следить чтобы удалялся слушатель на таймер, и он сам удалялся сборщиком мусора - иначе если предметов будет много, будет нехилая утечка памяти). Ну а хотите что то более конкретное задавайте более конкретные вопросы.

delphic 25.12.2014 13:39

ну примерно так
Код AS3:

if(endAnimationComponent2) // первый предмет
                        {
                        if(room.saw.y < 490)
                        {
                          room.saw.y +=0.5;//0.3
                        }
                        else
                        {
                                endAnimationComponent2 = false;
                        }
                        }
                        else
                        {
                                if(room.saw.y > 467)
                                {
                                        room.saw.y -=0.5;
                                }
                                else
                                {
                                  endAnimationComponent2 = true;
                                }
                        }
                        if(endAnimationComponent3)// второй предмет
                        {
                          if(room.bridge.x > 492)
                                {
                                        room.bridge.x -=1;
                                }
                          else
                          {
                                  timer.start();
                          }
                        }
                        else
                        {
                                if(room.bridge.x < 586)
                                {
                                        room.bridge.x +=1;
                                }
                                else
                                {
                                        endAnimationComponent3 = true;
                                }
                        }

Код AS3:

                private function timerComplete(e:TimerEvent):void
                {
                  endAnimationComponent3 = false;
                }

и как же повесить на первый предмет тот же таймер?
у каждого предмета разные координаты
предметы опускаются и поднимаются, из кода например видно что на втором предмете я делаю задержку, а на первом он тупо опускается и поднимается

samana 25.12.2014 14:03

Если честно, то не совсем понимаю проблему в создании нескольких (пусть хоть 50) таймеров. Вряд ли это "повесит" вашу флешку. У вас же там не 5000 таймеров, так что нет смысла оптимизировать, на мой взгляд.
Как-то делал тест, подписав много предметов на ентерФрейм и на таймер для каждого объекта. И результат был не сильно отличающийся, куча таймеров работали где-то на 5% медленнее и всё. Но объектов было много, что вряд ли часто встречается в реальной ситуации.

nubideus 25.12.2014 21:53

у тс проблемы в организации кода.

Gerbert 25.12.2014 23:05

Цитата:

у тс проблемы в организации кода.
Браво! Браво!
И что Вы ждете? Чтобы ТС начал Вас умалять и восхвалять
после чего Вы объясните ему, какие именно проблемы?
И это, типа, "я сказал, а Вы теперь подорвались объяснять"?
Или ещё чего Вам показалось, что Ваше мнение, настолько ценно,
что форум и посещают, только из-за Вас?)))

delphic 26.12.2014 11:42

Цитата:

Сообщение от nubideus (Сообщение 1176878)
у тс проблемы в организации кода.

интересно почему? В принципе я не претендую на медаль в области написания кодов))) это моя первая игра, самописный платформер, если у вас есть более интересный подход вы можете поделится, для того он и форум делится мыслями и подходами.Например мне интересно самому написать, чем пользоваться движками...

samana - я в принципе думаю что да, вряд ли буду использовать огромное количество, но иногда так хочется написать универсальнее, что бы было меньше кода,иногда получается,а вот с таймером чета прям в ступр ..
наверное так и сделаю как вы говорите, если уж совсем мозг поплавится от дум))

Ну я думаю что продав игру буду глубже изучать, а пока для понимания как продавать, как организовывать конечно будет много мест не продуманных, лишних, как один человек говорил что лучшее написание это тренировка, писать,пробовать, никто так сразу не пишет гениальный код, или правильный. На лом найдется другой лом, так же и с людьми, кто то напишет,другой исправит еще правильней, если гнаться за тем что правильно а что нет то никогда не напишешь игру, или напишешь через год, если желание не упадет до этого)))

Добавлено через 24 минуты
кстати samana я нашел загрузчик на cs системы http://flashgamedev.ru/viewtopic.php?f=6&t=9896, что, кто думает насчет его подхода?
я вот не понял зачем там все пихать в embed_clip, если прелодер выступает как главный класс то в нем stop() прописать а во второй кадр накидать ресурсы. пытался написать но что то с акаунтом у меня там, как будто отправляю сообщение но оно не появляется, и ошибок вроде нет о нарушении.

PainKiller 28.12.2014 21:42

Цитата:

Ну я думаю что продав игру буду глубже изучать
оффтоп, но не могу удержаться... Вы очень большой оптимист, с опытом это пройдет, через пару лет может быть что нибудь и будете продавать, если не бросите это дело, конечно.

PsychoTech 29.12.2014 00:28

Цитата:

Например мне интересно самому написать, чем пользоваться движками...
я лично считаю что большинство движков просто убивают программиста, поскольку некоторые дают возможность дизику обойтись без программера. Что еще больше не нравиться что некоторые верстальщики начинают себя бить пяткой в грудь и заявляют что они программисты, а сами даже в рекурсии разобраться не могут.

Цитата:

Ну я думаю что продав игру буду глубже изучать
О-да! согласен с предыдущим постом. Вот бы все так щелкнули пальцами и запросто продавали сырой *****кодец. Я тоже думал что достаточно нахвататься основ и все попрет. Однако даже уже с мало мальски углубленным познанием языка над своей игрой (для себя) сижу два месяца. и пока конца не видно. Мечтаю лишь о том чтобы игра оказалась такой как я её задумал и интересной, про продажу даже заикнуться не рискну.

По теме внесу свою лепту.

Где-то читал что все же таймер не очень хорошо и лучше временн`ые события вешать на frame и с синхронизацией нет проблем. там же на синхроне все контролировать можно.

Еще насчет организации кода я тоже не соглашусь. Очевидно что перед приступлением к работе вы не составили элементарного плана. Я лично пруступаю к работе имея подробный план действий разделенный на этапы. В данный момент общая тетрадь исписана набросками зарисовками схемами и чертежами.

Ну это все же моё личное мнение, поэтому несогласных прошу воздержаться от грубости в мой адрес.


Часовой пояс GMT +4, время: 20:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.