在Andengine中移动精灵

4

我希望能够使精灵沿着y轴以一定的速度移动,目前我的做法是将其高度从屏幕顶部递减至0,采用恒定值。以下是代码:

this.engine.registerDrawHandler(new IDrawHandler() {
        @Override
        public void onDraw(GLState pGLState, Camera pCamera) {
            ballon.setpostiton(ballon.getX(), ballon.getY() - 1);
        }

    });

但是,当我将代码移动到不同的sprite时,我没有得到一致的结果。在小设备上,它比大分辨率设备更早结束,并且在这方面,我已经在我的Andengine选项中传递了FillResolutionPolicy。

请告诉我一种在Andengine中移动sprite的一致方法。


只需跟随此链接,您的问题将得到解决 https://github.com/nicolasgramlich/AndEngine/blob/GLES2/src/org/andengine/entity/modifier/MoveYModifier.java - mabc224
2个回答

9
MoveXModifier mod1=new MoveXModifier(constanttime,fromX,toX);
sprite.registerEntityModifier(mod1);

使用此修饰符进行水平移动。

MoveYModifier mod1=new MoveYModifier(constanttime,fromY,toY);
sprite.registerEntityModifier(mod1);

使用此修饰符进行Y轴移动。

MoveModifier mod1=new MoveModifier(constanttime,fromX,toX,fromY,toY);
sprite.registerEntityModifier(mod1);

使用此修饰符进行X和Y轴移动。


什么是常数时间?它是动画的持续时间吗? - Glenn Bech

5

2
MoveYModifier类应该正好做你想要的事情。https://github.com/nicolasgramlich/AndEngine/blob/GLES2/src/org/andengine/entity/modifier/MoveYModifier.java - nidhoeggr09
1
你需要使用简单的MoveModifier,通过它你可以在x和y坐标上移动。 - Siddharth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接