首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HaxePunk:导出到C++时未呈现任何内容

HaxePunk:导出到C++时未呈现任何内容
EN

Stack Overflow用户
提问于 2013-07-09 09:29:43
回答 1查看 396关注 0票数 1

所以我和Haxe和Haxepunk做了一个游戏。很好。除了当我导出到C++时,没有任何东西被渲染!我之前在Haxepunk的论坛上发布了这篇文章,所以更多的信息可以在here上找到。以下是Haxepunk线程的摘录;

我仍然可以很好地编译它,但是除了我定义的背景色之外,游戏中实际上没有任何东西是渲染的。尽管如此,控制台仍然可以正常工作,渲染效果也很好。HaxePunk控制台告诉我Atlases using BitmapData will not be managed

我使用的是Ash的组件-实体系统,而不是Haxe的实体。相关对象有一个附加到它们的Visible组件,如下所示;

代码语言:javascript
复制
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);
    }
}

这是相关的渲染系统;

代码语言:javascript
复制
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);
    }
}

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 22:00:29

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

代码语言:javascript
复制
class Main extends Engine
{
    public function new()
    {
        super(0, 0, 60, false, RenderMode.BUFFER);
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17538567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档