AndEngine - 从屏幕开始到屏幕结束的精灵循环位置

时间:2013-11-23 23:40:43

标签: android loops andengine sprite

我正在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));不是实现我的目标的正确方法,它是以恒定速度同步所有精灵,当精灵到达目的地时,我希望他们重置他们的位置到屏幕的开头。

我真的很感激我能得到的任何帮助。

0 个答案:

没有答案