графика — HaxePunk: при экспорте в переполнение стека ничего не отображается

Так что я делаю игру с Haxe и Haxepunk. Хорошо. За исключением того, что когда я экспортирую в C ++, ничего не рендерится! Я разместил это ранее на досках Haxepunk, так что больше информации можно найти Вот. Вот выдержка из темы Haxepunk;

Я все еще могу скомпилировать его просто отлично, но на самом деле в игре ничего не отображается, кроме цвета фона, который я определил. Консоль все еще работает и рендерит нормально, хотя. Консоль HaxePunk говорит мне Atlases using BitmapData will not be managed,

Я использую систему компонент-сущность Эша, и я не использую сущности Хэкс. Соответствующие объекты имеют Visible компонент, прикрепленный к ним, выглядит следующим образом;

package game.component;

import com.haxepunk.Graphic;
import com.haxepunk.graphics.Image;

class Visible {

public var image(default, default) : Graphic;

public function new() {
this.image = Image.createRect(16, 16, 0xFF0000);
}
}

И это связанная система рендеринга;

package game.system;

import ash.core.Engine;
import ash.core.Entity;
import ash.core.System;
import ash.tools.ListIteratingSystem;

import com.haxepunk.HXP;

import Constants;
import game.component.Positionable;
import game.component.Visible;

import game.node.RenderNode;

class RenderingSystem extends ListIteratingSystem<RenderNode> {

public function new() {
super(RenderNode, this.updateNode);
}

private function updateNode(node:RenderNode, time:Float) : Void {
node.renderable.image.render(HXP.buffer, node.position.position, Constants.ORIGIN);
}
}

Какие-нибудь советы?

1

Решение

Если вы используете буферный рендеринг в C ++, вам нужно установить режим рендеринга внутри конструктора. Это потому, что конструктор Engine является единственным местом, где создается экранный буфер. К сожалению, документы API не дают четкого объяснения этому.

class Main extends Engine
{
public function new()
{
super(0, 0, 60, false, RenderMode.BUFFER);
}
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]