【问题标题】:andengine move sprite blocked on corner和引擎移动精灵被挡在角落
【发布时间】:2013-06-01 21:21:53
【问题描述】:

我在 physicworld 中有一个精灵没有在 touchArea 中注册,它只有在与其他精灵碰撞时才会移动,并且会在 physicworld 边界上定期反弹。现在我也尝试在没有碰撞时随机移动它。 我试图给它一个线速度,但它一直移动到右下角并停留在那里而不反弹

if(Sprite.getX() > 0) {
    bodySprite.setLinearVelocity(new Vector2(VELOCITY_X, VELOCITY_Y));
} else if(Sprite.getX() + Sprite.getWidth() > CAMERA_WIDTH) {
    bodySprite.setLinearVelocity(new Vector2(-VELOCITY_X, -VELOCITY_X));
}

【问题讨论】:

    标签: andengine


    【解决方案1】:

    你确定Sprite.getX() + Sprite.getWidth() > CAMERA_WIDTH 是真的吗? (考虑到轮换等...)

    我宁愿在屏幕边缘放置某种 box2d 传感器,当它们开始触摸时,施加一个脉冲。

    【讨论】:

    • 我将 wallFixtureDef (0, 0.5f, 0.5f) 应用于我的屏幕边缘,并且所有精灵都从边缘很好地反弹回来。我希望精灵始终保持运动,避免它们停止。
    • 我将 LinearVelocity 更改为:Vector2 shoot = new Vector2((originX - fingerX), (originY - fingerY)); body.setLinearVelocity(拍摄);现在精灵精确地移动到我想要的位置,但是太快了。如何设置速度值?
    • 将向量乘以某个值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多