我正在AndEngine为一个学校项目创建一个游戏,到目前为止一切顺利。
这是我到目前为止的游戏截图。 LINK
我希望精灵从原来的位置移动到屏幕的末尾。这是我尝试这样做的截图。 LINK
这是我创建世界的for循环
for(int x = 0; x < camera.getWidth()/GameManager.lengthOfTile; x++){
for(int y = 0; y < camera.getHeight()/GameManager.lengthOfTile; y++){
if(y == 0){
worldSprite[currentTile] = new Sprite(0, 0, grassTR, this.activity.getVertexBufferObjectManager());
worldSprite[currentTile].setPosition(xPos[x], y * GameManager.lengthOfTile);
worldSprite[currentTile].registerEntityModifier(new MoveXModifier((float) (0.5 * x), xPos[x], -GameManager.lengthOfTile));
scene.attachChild(worldSprite[currentTile]);
updateTile();
}
if(y >= 1 && y <= 6){
worldSprite[currentTile] = new Sprite(0, 0, roadTR, this.activity.getVertexBufferObjectManager());
worldSprite[currentTile].setPosition(xPos[x], y * GameManager.lengthOfTile);
worldSprite[currentTile].registerEntityModifier(new MoveXModifier((float) (0.5 * x), xPos[x], -GameManager.lengthOfTile));
scene.attachChild(worldSprite[currentTile]);
updateTile();
}
if(y == 7){
worldSprite[currentTile] = new Sprite(0, 0, grassTR, this.activity.getVertexBufferObjectManager());
worldSprite[currentTile].setPosition(xPos[x], y * GameManager.lengthOfTile);
worldSprite[currentTile].setRotation(180);
worldSprite[currentTile].registerEntityModifier(new MoveXModifier((float) (0.5 * x), xPos[x], -GameManager.lengthOfTile));
scene.attachChild(worldSprite[currentTile]);
updateTile();
}
}
}
正如你所看到的,registerEntityModifier(new MoveXModifier((float) (0.5 * x), xPos[x], -GameManager.lengthOfTile));
不是实现我的目标的正确方法,它是以恒定速度同步所有精灵,当精灵到达目的地时,我希望他们重置他们的位置到屏幕的开头。
我真的很感激我能得到的任何帮助。