jos*_*mmo 5 java android libgdx scene2d
如何在libgdx中按名称获取actor?
我目前有以下ChangeListener:
ChangeListener colorPickerListener = new ChangeListener()
{
public void changed(ChangeEvent event, Actor actor)
{
//Popup Window
toolboxStage.addActor(blockWindow);
//toolboxStage.getRoot().removeActor(blockWindow);
Gdx.app.log("LevelEditorScreen", "Color Picker Selected");
Gdx.app.log("LevelEditorScreen", "HUD Width: " + HUD_WIDTH);
Gdx.input.setInputProcessor(toolboxStage);
}
};
Run Code Online (Sandbox Code Playgroud)
上面的演员是被触摸的演员.一旦触及这个特定的演员,我需要改变另一个演员的颜色.我究竟该如何以名字命名这位演员?
noo*_*one 19
我想指出,已经有一种方法可以找到一个Actor名字.
它的工作原理如下:stage.getRoot().findActor(name).
无需自己实施.:)
首先,您需要为您的 Actor 设置一个名称:( Actor#setName )
myactor.setName("myactor");
Run Code Online (Sandbox Code Playgroud)
然后你可以获取该舞台中的所有 Actor,如下所示:( Stage#getActors )
Array<Actor> stageActors = mystage.getActors();
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用Actor#getName检查该名称的所有 Actor:
int len = stageActors.size;
for(i=0; i<len; i++){
Actor a = stageActors.get(i);
if(a.getName().equals("myactor")){
//a is your Actor!
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但如果您保留对所有 Actor 的引用并使用它,则会更容易且性能更高。
| 归档时间: |
|
| 查看次数: |
3561 次 |
| 最近记录: |