Java 如何为演员设定界限?

Java 如何为演员设定界限?,java,libgdx,Java,Libgdx,我正在让一个演员(精灵)从屏幕的左侧转到右侧,然后再回到左侧(循环动画)。几秒钟后,演员开始在屏幕上向左/向右移动。我正在使用setLinearVelocity方法移动演员。这是计时器内的代码: if (actor.getX() < (LEFT_EDGE + actor.getWidth())) { // if at the edge of left, go right actor.body.setLinearVelocity(ACTOR_MOVE_SPEED, actor

我正在让一个演员(精灵)从屏幕的左侧转到右侧,然后再回到左侧(循环动画)。几秒钟后,演员开始在屏幕上向左/向右移动。我正在使用setLinearVelocity方法移动演员。这是计时器内的代码:

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()));
}
if(actor.getX()<(左边缘+actor.getWidth()){
//如果在左边的边缘,向右走
actor.body.setLinearVelocity(actor\u MOVE\u SPEED,actor.body.getLinearVelocity().y);
actor.setScaleX(Math.abs(actor.getScaleX());
}
else if(actor.getX()>(RIGHT_EDGE-actor.getWidth()){
//如果在右边的边缘,向左走
actor.body.setLinearVelocity(-actor\u MOVE\u SPEED,actor.body.getLinearVelocity().y);
actor.setScaleX(Math.abs(actor.getScaleX());
}
如何设置演员的边界,使其不会离开屏幕/离开屏幕?为什么它会从屏幕上消失呢


另外,参与者的身体是动态的。

@CaseyB LibGDX不是Java的框架吗?它是一个具有Java绑定的C库。我删除了Java标记,因为你的问题是关于libGDX如何工作,而不是关于Java如何工作。这个网站上几乎每个libGDX问题都有Java标记。它便于自动设置代码格式,而且OP可能想要Java的答案。Libgdx不是一个C库。@CaseyB Libgdx不是一个Java框架吗?它是一个具有Java绑定的C库。我删除了Java标记,因为你的问题是关于libGDX如何工作,而不是关于Java如何工作。这个网站上几乎每个libGDX问题都有Java标记。它便于自动设置代码格式,而且OP可能想要Java的答案。Libgdx不是一个C库。