如何为演员设定界限?

时间:2016-07-01 17:18:04

标签: java libgdx

我正在制作一个演员(精灵)从屏幕左侧向右移动,然后从左侧移动(循环动画)。几秒钟后,演员开始向左/向右移动屏幕。我正在使用 setLinearVelocity 方法来移动actor。这是Timer中的代码:

if (actor.getX() < (LEFT_EDGE + actor.getWidth())) {
    // if at the edge of left, go right
    actor.body.setLinearVelocity(ACTOR_MOVE_SPEED, actor.body.getLinearVelocity().y);
    actor.setScaleX(Math.abs(actor.getScaleX()));
}

else if (actor.getX() > (RIGHT_EDGE - actor.getWidth())) {
    // if at the edge of right, go left
    actor.body.setLinearVelocity(-ACTOR_MOVE_SPEED, actor.body.getLinearVelocity().y);
    actor.setScaleX(Math.abs(actor.getScaleX()));
}

如何设置actor的边界,使其不会离开屏幕/离开屏幕?为什么它会离开屏幕呢?

P.S。演员身体是运动学的。

0 个答案:

没有答案