【发布时间】:2015-02-04 16:29:59
【问题描述】:
我的游戏非常先进,但这些天我遇到了一个我无法解决的问题......
我有一个迷宫和一个角色。对于迷宫的每一行,我为舞台演员定义了一个组,并将该行的每个演员(例如墙壁)放入这个组。
之后,我以数组(Group[] layers) 结束,其大小等于迷宫中的行数,并将每个组放在我的舞台上。
到此为止,它完美地工作,我的墙被画了,我的角色也被画了,他的头出现在第一排墙的后面,由于层。
但是当我的角色换行时,我想改变他的“层”,所以它在舞台中的顺序。
我的想法是:
layers[previousRowOfTheCharacter].removeActor(this);
layers[newRowOfTheCharacter].addActor(this);
这就是问题所在...AddActor 显然在添加之前删除了该演员。问题是我的角色从来没有被添加到舞台上,因为他没有被画出来。
快速总结:
static Group[] layers = Group[numberOfRows];
Stage stage = new Stage();
添加要绘制到图层的所有演员
layers[row].addActor(); (works)
通过添加阶段中的所有组
stage.addActor(group); (works)
当一个字符改变行时:
layers[previousRow].removeActor(this);
layers[newRow].addActor(this);(不起作用,字符消失)
我不能使用 stage.addActor,因为它不允许我订购演员。我通过比较器读到它是可能的,但它似乎仍然是一团糟。我试过了,我现在的方法对我来说似乎更清晰。
有人对此有解决方案吗?
非常感谢您的回答。
【问题讨论】: