Решил тут "тряхнуть стариной" и закодить игрушку на флеше. Впрочем, старина не такая уж и старинная, года три ей всего, да и жиденькая - кодил на флеше месяц.
Попытался что-нибудь сделать - устал. AddChild/RemoveChild - адовый ад, на каждый чих заводить по отдельному экземпляру спрайта и управлять его эволюцией по экрану, вместо того чтобы одной строчкой вызвать Blit(sprite, x, y); или там sprite->Blit(x,y) - печалит меня очень.
Хочу без дисплейлиста. Знаю copyPixels, но copyPixels не могут обеспечить трансформацию объекту, а трансформаций хочется. Надеялся, что кто-нибудь уже закодил движок, который делает софтовый рендер и потом copyPixels, каким-нибудь хитрым оптимальным способом, может с применением алхимии, чтобы все это с нормальной скоростью работало - и увы, ничего не нашел.
Таки ничего нет, или плохо искал?
Flash 11.3 и Stage3d пока не хочется, но если ничего не выгорит, буду пробовать его. Оно у меня на маке почему-то не работает - издержки беты..
jaguard
> Хочу без дисплейлиста. Знаю copyPixels, но copyPixels не могут обеспечить
> трансформацию объекту, а трансформаций хочется.
Юзай draw.
Antilegent
Медленно получится.
jaguard
Да. Поэтому нужно выбирать между "медленно и с трансформациями" и "быстро, но без трансформаций".
Или ещё можно попробовать написать свой двиг на Хаксе или Ц++.
Других вариантов, насколько я знаю, нет.
копипиксел никак не работает быстрее обычного двигающегося спрайта. хочешь тормоза - делай всё в битмапдате и копипиксел.
jaguard
> Медленно получится.
у меня он довольно быстр. В любом случае на флешплеере ниже 11.3 ничего лучше нет.
ИПавлов
> хочешь тормоза - делай всё в битмапдате и копипиксел.
опять же неправда. Даже draw даёт существенный буст производительности, по сравнению с мовиклипами\спрайтами. А копипиксел быстрее дроу гдето на 20%. Но тут уж придётся кешировать повороты, маштабирование... что быстро сожрёт всю оперативу.
какие мувиклипы блин. спрайт с битмапом и поехали менять битмамы. какие ещё копипикселы. в твоей флэшке копипиксел нужен только для задника разве, что. чтобы сделать его бесконечным и рандомным. а всё остальное. делается битмапами. с кучкой битмапдат.
ИПавлов
А задник и рендится копипикселем. А объекты с помощью draw. Использовать спрайты нет нужды.
Убедили, буду пробовать copyPixels для бекграунда + draw для остального. Но все-таки хочется какой-нибудь движок хитробыстрый. Как alternativa, только 2д ).
jaguard
> Но все-таки хочется какой-нибудь движок хитробыстрый.
Дык напиши сам.
Antilegent
Дык лень. Не пишу я движки, скучно.
CopyPixels классная олдскульная перфоманс буст штука. Но уже наверно пора смотреть на 11.0+ плеера.
Уже в 11.1 все хорошо со stage3d. 11.3 бету не обязательно брать, чтобы писать быстрые 2д игры на стейдж3д.
>>Но все-таки хочется какой-нибудь движок хитробыстрый. Как alternativa, только 2д ).
2д движки на stage3d:
starling — птички во фейсбуке сделаны на нем.
ND2D
Genome2d
Axel
компоненты для старлинга заточеные под мобайл. Может стоит глянуть.
Быстрое сравнение трех 2D библиотек работающих на Stage3D
кстате, там же интересные каменты
Ps-spectre
> Но уже наверно пора смотреть на 11.0+ плеера.
Имхо пока рановато. По данным моего сайта на 11-м плеере гдето 60%-65% игроков. Как будет 90-95%, тогда да, пора :) короче в 2013 думаю можно спокойно начать юзать.
XIRMAC, хм. Ну похоже действительно рановато делать игры которые должны принести денюжки под 11+ плеера. Но смотреть уже можно в эту сторону потихоньку. )
Тем более, далеко не для каждой игры надо реально большой перфоманс и тысячи спрайтов в кадре.
Да, дилемма - использовать старый но надежный подход, или перспективный и современный, но пока с трудом поддерживаемый :).
Удивило и опечалило что на айпаде и прочих таблетках такая ацкая производительность - значит на мобилы в этот раз придут полноценные конкуренты с флеша - а их и так хватает уже, конкурентов этих.
Потестил примеры ND2d на 11.1 - как-то медленно, однако. Партиклы и первая "водная" сцена на 5 фпс только тянут, даже в среднем размере окна.
Тема в архиве.