Слот-машина
Слот-машина с тремя барабанами и четырьмя уровнями исходов (мимо / вишни / колокольчики / джекпот). Ближе к настоящей слот-машине по UX, чем Рулетка - больше барабанов, больше визуала, более выраженное замедление. Те же кирпичики: frames + onAnimEnd + randActions.
Что показывает
Заголовок раздела «Что показывает»- Анимацию по нескольким слотам: каждый кадр обновляет 3 барабана сразу
- Взвешенные таблицы призов (3/1/1/1 в списке randActions примерно равно 60/20/20/что-то)
- Связку визуальной анимации (финальный кадр показывает три звезды) и реальной выдачи приза (она независима, в randActions)
Барабаны синхронно
Заголовок раздела «Барабаны синхронно»В items каждого кадра три предмета - по одному на барабан. Все обновляются на одном переходе кадра, поэтому визуально все три барабана крутятся вместе, а не независимо.
Чтобы реально крутить барабаны независимо, понадобились бы три отдельных анимированных меню друг поверх друга или код в расширении, который ведёт каждый барабан по своему таймеру. Для демо хватает синхронных барабанов - игрок получает ощущение слот-машины без инженерного оверхеда.
Развязка анимации и исхода
Заголовок раздела «Развязка анимации и исхода»Визуальные кадры показывают разные комбинации символов. Реальный приз решается в randActions внутри onAnimEnd, полностью независимо от символов на последнем кадре.
Это сделано намеренно. Если бы приз был привязан к визуальному исходу (например, “ты увидел три вишни - вот тебе вишнёвый приз”), пришлось бы контролировать, на каком символе остановится анимация. Это требует динамических кадров на каждый розыгрыш. Сильно сложнее.
Развязанный подход - это то, что и делают настоящие слот-машины. Визуал - театр. Математика - в розыгрыше приза.
Попробовать
Заголовок раздела «Попробовать»- Положите бандл в
plugins/AbstractMenus/menus/example/. /am reload./eco give <вы> 500.- Введите
/ame_slotsв игре. Смотрите на вращение. Читайте сообщение с призом.