project_manager
https://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=modal+dialog
http://lingvo.yandex.ru/modal/%D1%81%20%D0%B0%D0%BD%D0%B3%D0%BB%D… %D0%B3%D0%BE/
project_manager
кстати спасибо, что обратил внимание на него:) собираюсь зарефакторить и убрать наследование от актера
скачало уже более 50 человек, но ни одного комментария/вопроса по делу. Гульмена интереснее обсуждать?
Frankinshtein
> Гульмена интереснее обсуждать?
+1. Такие же эмоции про Гульмана. Не понимаю, что этот флеймо-шлак делает в проектах.
обновил билд:
- добавил ClipRectActor
- обновил документацию
- переделал наследование Modal
- исправил мелкое дрожание в ProgressBar
вот более полная диаграмма, хотя тут не показаны некоторые важные наследники от Sprite
залил новый билд:
- некоторые фиксы
- улучшил панельку со статистикой
- добавил performance test
на 5000 созданных спрайтов (Sprite), которые являются полноценными объектами из SceneGraph на Asus Transformer TF101 (android 4) у меня вышло так:
fps = 50
update time = 2ms
render time (null device, отрисовка в никуда)= 11ms
render time (gles1.1 + scale = 0.01) = 13ms, тоесть оверхед от gl вызовов практически нулевой
Это называется фреймворк, а не движок)))
akaAngeL
согласен, на данном этапе фреймворк
потом будет полцонеценный движок
Хорошо, решил попробовать, но его код и синтаксис - это просто ужас особенно этот префикс СС для всех классов. Я попытался превозмочь себя и все же использовать, но тут всплыло еще много проблем.
Если не сложно, то поподробнее какие проблемы возникли кроме неудобства использования? Баги?
Dizzy
>>Если не сложно, то поподробнее какие проблемы возникли кроме неудобства использования? Баги?
-возникли проблемы компиляцией под андроид, пришлось гуглить и исправлять ошибку
-косяки с вращением экрана
-код который невозможно отлаживать
-миллионы дефайнов в стиле: CC_PROPERTY(float, m_fSkewX, SkewX)
-методы типа setPosition / setPositionInPixels
-ручное управление объектами в стиле objective-c: retain/release
-много небезопасного кода, разных выделений памяти через new/delete, код в котором ну очень легко допустить утечку памяти
-много бесполезного кода выполняющегося в каждом цикле обновления
короче там все просто висит на соплях
Обновление:
- добавлена многопоточная загрузка
- на порядок ускорена загрузка картинок и снижено потребление памяти во время загрузки
- улучшена работа и поддержка различных форматов текстур для атласов (rgba8888, rgba4444, rgba565, rgba5551)
- улучшен вывод отладочной информации
- мелкие фиксы
- добавил одну большую демку (Test), которая включает в себя много много разных тестов и демонстрацию фич:
- твины
- текст и его выравнивание в различных условиях
- drag and drop
- тестирование производительности
- работа с ресурсами: выгрузка, загрузка, многопоточная загрузка
- форматы текстур
- render to texture
демку для Андроида можете скачать тут: http://goo.gl/1GzZ8
демка для Windows: http://goo.gl/VkJ4U
взял твой движок, начал делать демку своей игрушки, пока всё выглядит позитивно. порадовал TreeInspector.
несколько вопросов:
1) допустим мне надо шейдер материал приложить на спрайт, можно такое сделать?
2) какие планы по фичам на будущее?
Juster
1,2.
на ближайшее время:
- решил заменить платформу Cocos2DX на SDL2.0 и забыть о кокосе, как о страшном сне
- добавить поддержку gles2.0 и станут доступны шейдеры, хотя пока не было надобности в этом
И у меня свой движочек есть :-)
Правда реализован только под windows и ios.
Низкий уровень собственный, используются только библиотеки boost,box2d,libpng и прочие
А верхний у меня на скриптах Squirrel.
Проблему с производительностью обходил тем, что использую скрипты в основном декларативно, т.е. никаких update'ов и render'ов в скриптах,
хотя API позволяет делать в них апдейты. Плюс ко всему задизайнил API таким образом, чтобы было просто перетаскивать код из скриптов в с++ (размещать методы одного класса как в с++, так и в Сквирле одновременно), выполняя таким образом оптимизацию.
для примера приведу код на Squirrel описывающий сцену с циферблатом и вращающимися стрелками минут и часов, в c++ кроме скелетного кода ничего не требуется делать:
local scene = SceneObject({pos = Vector(::Display.width / 2, ::Display.height / 2)}) scene.Clock = ::Sprite({image = "gfx/clock" align = Vector(0.5, 0.5)}) scene.Minute = ::SceneObject() scene.Minute.Sprite = ::Sprite({image = "gfx/minute" align = Vector(0, 0.5) pos = Vector(-10, 0)}) scene.Minute.Anim = ::Animation({duration = 1000 type = "cycle" to = {angle = 360}}) scene.Hour = ::SceneObject() scene.Hour.Sprite = ::Sprite({image = "gfx/hour" align = Vector(0, 0.5) pos = Vector(-13, 0)}) scene.Hour.Anim = ::Animation({duration = 1000 * 60 type = "cycle" to = {angle = 360}}) ::Graphics.scene = scene
Еще подправить бы синтаксис Сквирла, чтобы можно было опускать скобки, если в качестве единственного параметра таблица (как в LUA), будет совсем красиво
Пока запущен только один пробный проект на этом движке, 2 в разработке. Думаю казуалки на нем можно будет писать быстро и удобно, но работы впереди еще очень много, когда нибудь выведу его на публику)
Frankinshtein, а азиатские языки движок держит? партиклы имеются?
Тема в архиве.