Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.11.2017, 20:32
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Слот СПИН, плавность

Всем привет. Честно говоря даже неудобно спрашивать такие вопросы, так как данной работой я зарабатываю деньги уже как лет 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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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