andrey.mesheryakov
в Test приложении есть демонстрация многопоточной загрузки
Frankinshtein
> в Test приложении есть демонстрация многопоточной загрузки
Попробовал. Смущает fps 9 в test1.exe и краши 2/2 ( тыкал на всякие кнопки без особого смысла. Memory exception (11) attempting to access: 00000094 [ip=62845090] ).
Правка - краши уже 3/3. Видимо виндовая версия сыровата.
Здравствуйте!
Появился вопрос. Мне нужно отрисовывать спрайт не целиком, а частично, выбирая из него нужный прямоугольник, который будет выводиться на экран. Делаю это примерно так:
... рассчитываю rsrc, rdest
AnimationFrame animFrame = _itemsSpr->getAnimFrame();
animFrame.init(animFrame.getResAnim(), animFrame.getTexture(), rsrc, rdest, animFrame.getFrameSize());
_itemsSpr->setAnimFrame(animFrame);
_itemsSpr->render(rs);
Все работает. Теперь мне нужно вывести часть спрайта, применяя к ней масштабирование и вращение. Как можно это сделать? Перепробовал, наверное, все комбинации setAnchor + setRotation - спрайт вращается целиком. Есть возможность получить вращение именно нужного мне фрагмента?
Спасибо!
nosferato
не очень понимаю что ты хочешь
где ты вызываешь setRotation и чего хочешь добиться в итоге?
вырезать кусок спрайта из текстуры с вращением или повернуть результат?
setRotation повернет только результат
неясно _itemsSpr твой как устроен, находится ли он в дереве или нет
у кого ты перегрузил render и зачем
_itemsSpr - указатель на экземляр oxygine::Sprite
Он не в дереве, я просто создаю его в своем Actor'е:
_itemsSpr = new Sprite; _itemsSpr->setResAnim(res.getResAnim( "items"));
и вручную отрисовываю, чтобы полностью управлять процессом отрисовки всего, что мне нужно. render ни у кого не перегружал, вроде бы. setAnchor и setRotate вызываю перед вызовом render у _itemsSpr:
... рассчитываю rsrc, rdest AnimationFrame animFrame = _itemsSpr->getAnimFrame(); animFrame.init( animFrame.getResAnim( ), animFrame.getTexture( ), rsrc, rdest, animFrame.getFrameSize( )); _itemsSpr->setAnimFrame( animFrame); _itemsSpr->setAnchor( 0.5f, 0.5f); _itemsSpr->setRotation( angle); _itemsSpr->render( rs);
Мне нужно, чтобы та часть текстуры, которую я вывожу на экран (это фишка), вывелась повернутой на угол angle.
Ну и должна быть повернутой, угол в радианах задаешь?
вообще все это странно: ты используешь класс не по назначению для низкого уровня, тебе тогда он тут тогда даже не нужен
достаточно тогда ручками через
rs.renderer->setTexture rs.renderer->setTransform rs.renderer->setColor rs.renderer->draw
все нарисовать
но не понимаю зачем? спрайт удобный, быстрый, все батчит и делает за тебя
почему его нельзя сделать чайлдом?
или нужно много штук нарисовать? ну создай их 100 штук и прицепи к Root или другому необходимому актеру и управляй вращением, твинами и тд. Разницы не заметишь, а удобнее на порядок.
nosferato
в общем ты лучше опиши, что делаешь, а порекомендую, как это реализовать эффективно и красиво на движке
Сообщество мармеладки в курсе? Я так понял что информированием там занимается Lester Madden сейчас.
GLoom
Неа, думаю еще рано и надо переводить много текста с описанием на хороший английский
Frankinshtein
Рекомендую всё таки обратить внимание на свой движок. На следующий год могут продлить Standart лицензию бесплатно.
Планируется ли официальный сайт с онлайн документацией? Это бы помогло лучше презентовать движок для потенциальных заказчиков. Есть какой-то roadmap? Двиг бесплатен для ком. использования, при условии ссылки(опять же оф сайт не помешает), на весь 2013 год?
ice-w-ind
Сайт есть пустой oxygine.org, кое какая doxygen документация есть в архиве с движком.
Roadmapа нет.
Да, на весь 2013 бесплатен
обновил движок
1. улучшена поддержка SDL
2. доп. функциональность для работы с мультитачем
3. ускорена сборка в атласы
4. удалены лишние либы
5. улучшен SlidingActor
6. и тд:)
а вот SDL билд примера Test собранный без мармелада
http://goo.gl/fRPUU
причесал внешний вид темы
и вот еще одна сторонняя открытая библиотечка для создания системы диалогов/экранов и перехода между ними, опишу возможности позже
https://bitbucket.org/frankinshtein/oxygine-frame
Я решил открыть исходный код под лицензией MIT, скоро выложу
Тема в архиве.