![]() |
|
||||||||||
|
|||||
|
Всем привет. Честно говоря даже неудобно спрашивать такие вопросы, так как данной работой я зарабатываю деньги уже как лет 8 почти, но с другой стороны, я никогда не претендовал на гения математики или оптимизации...
По делу : чтобы всем было понятно, возьмем готовый с интернета пример о чем идет речь http://snorkl.tv/dev/blitmask/slotDemo.html В нашем случае таких барабанов 5, по 3 символа на барабане, ну то есть масштаб чуть больше. Пишем мы на haxe, поэтому, если будете рассматривать твинеры и т.п. имеем только Actuate. Далее описываю алгоритм, как это работает у меня : сервер подает раскладки, у каждого барабана свое кол-во символов, от 20 до 500 например, то есть вариации приличные. Каждый символ некий класс на Bitmap (пускай просто картинка типа png). Каждый барабан хранит в себе маску, которая соответсвенно показывает на экране 3 символа, но держит за маской и остальные, например в 500 штук (общий контейнер). Спин происходит следующим образом, вешается таймер в 30-50 мс, с каждым тиком контейнер символов двигается на ровное кол-во px например на 20. Когда полоска символов доходит до конца, перекидывается на 0 и продолжается далее, чтобы не было швов 3 символа конца = 3 символам начала. В настойщий момент вешаю таймер в 1 мс и двигаю по 20пх (так выходит более плавно, чем таймер на 30мс и двигать по 60пх например). Вот собственно и все, в итоге конечно получается немного дерганно, не плавно, но как улучшить данный процесс, пока мозгов не хватило. Если же ранее мы могли использовать блитМаск, то теперь этого нет, да и не надо, не думаю, что все известные игроделы его юзают. П.с. какие у меня есть идеи, но применять их пока не хочу, так как думается мне прирост будет совсем минимальный, но вдруг вы скажите, что прирост будет приличный : 1) сделать ОБЩУЮ маску на все 5 барабанов, а не у каждого барабана свою маску. 2) сделать ОБЩИЙ таймер на все 5 барабанов, а не у каждого свой. П.п.с - само собой по скольку пишем на Хаксе, все это портируется как в swf так и в html5, так вот в html5, все то, что я описал выше работает очень плавно ( видимо там рендер по-другому пляшет , ну само собой ) Всем спасибо!
__________________
Марк Tween |
![]() |
Часовой пояс GMT +4, время: 15:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|