gpt4 book ai didi

android - Andengine,让 Sprite 随机 move

转载 作者:行者123 更新时间:2023-11-30 03:57:32 26 4
gpt4 key购买 nike

我想在点击它时使 Sprite move ,但我有一个问题...... Sprite 总是 move 到左上角,我试图输入随机值,但它没有给出结果

ballITexture = TextureRegionFactory.extractFromTexture(BaseActivity.getSharedInstance().ballTexture);
final Random rand = new Random();
sprite = new Sprite(0, 0, ballITexture, BaseActivity.getSharedInstance().getVertexBufferObjectManager()){
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
randomMove(rand.nextInt(4), pTouchAreaLocalX, pTouchAreaLocalY, this);

};

mCamera = BaseActivity.getSharedInstance().mCamera;
sprite.setPosition(mCamera.getWidth() / 2 - sprite.getWidth() / 2, mCamera.getHeight() / 2 - sprite.getHeight() / 2);
moveable = true;

这是 randomMove 方法:

private void randomMove(int direction, float pTouchAreaLocalX, float pTouchAreaLocalY, Sprite sprite){

switch(direction){
case 0:
sprite.registerEntityModifier(new MoveModifier(1, pTouchAreaLocalX, 1, pTouchAreaLocalY, 1));
break;
case 1:
sprite.registerEntityModifier(new MoveModifier(1, pTouchAreaLocalX, 1, pTouchAreaLocalY, -1));
break;
case 2:
sprite.registerEntityModifier(new MoveModifier(1, pTouchAreaLocalX, -1, pTouchAreaLocalY, 1));
break;
case 3:
sprite.registerEntityModifier(new MoveModifier(1, pTouchAreaLocalX, -1, pTouchAreaLocalY, -1));
break;
}

}

我的问题是,为什么我的 Sprite 在我触摸它时总是 move 到左上角,而不是随机 move ?如何解决?

最佳答案

算了,我给 MoveModifier 传递了不正确的参数,我把 1 和 -1 值应该是相机的任何像素

private void randomMove(int direction, float pTouchAreaLocalX, float pTouchAreaLocalY, Sprite sprite){

sprite.registerEntityModifier(new MoveModifier(1, pTouchAreaLocalX, rand.nextInt(mCamera.getWidth()), pTouchAreaLocalY, rand.nextInt(mCamera.getHeight())));

关于android - Andengine,让 Sprite 随机 move ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com