gpt4 book ai didi

c++ - HaxePunk:导出到 C++ 时没有渲染

转载 作者:行者123 更新时间:2023-11-30 02:53:56 33 4
gpt4 key购买 nike

所以我正在与 Haxe 和 Haxepunk 一起制作游戏。美好的。除了当我导出到 C++ 时,没有任何渲染!我之前将此发布在 Haxepunk 板上,因此可以找到更多信息 here .这是 Haxepunk 主题的摘录;

我仍然可以很好地编译它,但除了我定义的背景颜色外,游戏中没有任何东西在实际渲染。不过,控制台仍然可以正常工作并且呈现良好。 HaxePunk 控制台告诉我Atlases using BitmapData will not be managed

我使用的是 Ash 的组件实体系统,而不是 Haxe 的实体。相关对象附加了一个 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);
}
}

有什么建议吗?

最佳答案

如果您在 C++ 中使用缓冲区渲染,则需要在构造函数中设置渲染模式。这是因为引擎构造函数是唯一创建屏幕缓冲区的地方。不幸的是,API 文档没有清楚地解释这一点。

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

关于c++ - HaxePunk:导出到 C++ 时没有渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17538567/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com