Состоялся релиз Genome2D 0.9.1

Было исправлено много больших и маленьких ошибок.
Одно большое изменение в том, что был выделен шейдер для спрайтов, которые не используют альфа канала. Это позволило поднять производительность на iOS и Android до двух раз.
Также, был встроен новый профайлер, который включается enableStats = true в конструкторе классе GContextConfig при инициализации движка.
Профайлер показывает следующую информацию — FPS, Min/Max mem, количество вызовов процедур рисования на кадр, количество текстур на GPU.

Обновлена документация и примеры:
ASDoc
Примеры
Библиотека

Ссылка на страницу оригинала. Также, на этой странице вы можете проголосовать над какой функциональностью автору работать в будущем.

Поделиться в соц. сетях

Опубликовать в LiveJournal
Опубликовать в Google Plus
  • Павел

    Жаль, что библиотека не поддерживает z-координату!

  • VirtualMaestro

    Так она по самой философии не должна этого делать :)

  • Павел

    VirtualMaestro, подскажите как правильно связать графику в Genome2D с движком Nape! Спасибо!

  • VirtualMaestro

    Точно также как в этой статье http://flashnotes.ru/2012/03/16/nape-2-dobavim-grafiku/ , только в качестве объекта графики ставите transform нода вашего спрайта или мувика. Будет что то типа этого:
    var sprite:GSprite;
    body.graphic = sprite.node.transform;
    body.graphicUpdate = function(b:Body)
    {
    b.graphic.x = b.position.x;
    b.graphic.y = b.position.y;

    // Так как Nape использует радианы и графический двиг тоже,
    // то можно смело без всяких трансформаций присваивать угол
    b.graphic.rotation = b.rotation;
    }

  • Павел

    VirtualMaestro, спасибо Вам за ответы!
    Надеюсь это последний!:)
    Любая анимация созданая в мувике и отображена с помощью такого фрагмента кода ведет себя неадекватно(резкие движения, скачки).

    var atlas:GTextureAtlas = GTextureAtlasFactory.createFromMovieClip(«mushroom», new clip());
    var moviec:GMovieClip = GNodeFactory.createNodeWithComponent(GMovieClip) as GMovieClip;
    moviec.setTextureAtlas(atlas);
    moviec.frameRate = 30;
    moviec.frames = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29];
    container.addChild(moviec.node);
    moviec.node.transform.x = stage.stageWidth / 2;
    moviec.node.transform.y = stage.stageHeight / 2;

    С чем это может быть связано! Заранее Спасибо!

  • VirtualMaestro

    Предполагаю, что проблема типа этой http://flashnotes.ru/tests/atlasfrommovieclip/AtlasFromMovieClip.html
    Проблема кроется в методе GTextureAtlasFactory.createFromMovieClip — он пока еще не достаточно проработан — не учитывается точка привязки мувика. Этот метод просто делает серию скриншотов мувика и как бы устанавливает точку привязки посередке (у оригинала она внизу). Поэтому получается, что гриб не подпрыгивает, а просто расширяется в стороны.
    Методом GTextureAtlasFactory.createFromMovieClip можно пользоваться, только надо знать нюансы его работы.
    Автор обещался исправить это дело в будущих релизах.

    Лучше всего, конечно, самому сгенерировать спрайтшит, а не делать это в рантайме. Благо новый Flash pro CS6 разрешает это делать без проблем и очень удобно (напомню, что выгонять нужно в формате Sparrow).

  • Алексей

    VirtualMaestro! Скажите пожалуйста, как сделать так, чтобы задать систему координат в левом верхнем углу для всех нодов?

  • Alex

    VirtualMaestro! Часто читаю твой флэш-заметки) спасибо за работу) пожалуйста, продолжай!

  • VirtualMaestro

    @Алексей, такого нету. Ноды более общая сущность и не является альтернативой DisplayObjectContainer. В ноды добавляется компонент, а компонент не обязательно должен быть визуальный, то есть ему не обязательны параметры позиции, поворота и т.д. (объект transform). Даже если добавить спрайт, если в нем нету текстуры, то по сути сам спрайт не имеет позиции и поворота ибо его не возможно отобразить (по сути от не является визуальным элементом).
    Когда движок обходит дерево нодов он смотрит: ага в ноде есть спрайт, смотрим внутрь, ага есть текстура, ок, значит ее надо отрисовать. Идем и смотрим какие параметры у объекта transform, ага позиция 100/200 поворот 0 градусов. Ок, идем и рисуем эту текстуру в позиции 100/200. Текстуры имеют точку привязки (pivot point) и в зависимости от этой точки они отрисовываются. По-умолчанию она 0/0. Эта координата припадает точно на центр текстуры. Потому если ничего не менять она отрисуется вот так:
    http://flashnotes.ru/wp-content/uploads/2012/09/texturePivotPointCenter.jpg

    А если мы сдвинем точку привязки в левый верхний угол, то будет выглядеть вот так:
    http://flashnotes.ru/wp-content/uploads/2012/09/texturePivotPointLeftTop.jpg

    Параметры точки привязки у текстуры настраиваются через свойства — pivotX/pivotY.
    Сорс код:
    http://pastebin.com/h8DKWwN1

  • Ewanse

    А кто нибудь видел статейку в которой описан пример как создать текстурку и залить её повторяющимся изображением?

    • VirtualMaestro

      Если я не ошибаюсь, что то такое на днях обсуждали на форуме генома.
      Сам, не не видел.