我正在制作一个演员(精灵)从屏幕左侧向右移动,然后从左侧移动(循环动画)。几秒钟后,演员开始向左/向右移动屏幕。我正在使用 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。演员身体是运动学的。