Java 如何使对象反向移动?
我需要让船在出界时朝相反的方向移动(8,-8) 船移动,但将其流速添加到当前位置。如果船撞到边界,它会掉头向相反方向移动Java 如何使对象反向移动?,java,Java,我需要让船在出界时朝相反的方向移动(8,-8) 船移动,但将其流速添加到当前位置。如果船撞到边界,它会掉头向相反方向移动 } public void move(int direction) { this.position = position + direction; this.velocity = velocity + position; if ( position > 5) { direction = - 1; }
}
public void move(int direction)
{
this.position = position + direction;
this.velocity = velocity + position;
if ( position > 5)
{
direction = - 1;
}
else if ( position < -5)
{
direction = + 1;
}
}
}
}
公共无效移动(内部方向)
{
这个位置=位置+方向;
速度=速度+位置;
如果(位置>5)
{
方向=-1;
}
否则,如果(位置<-5)
{
方向=+1;
}
}
}
它不起作用。。任何帮助都会很好
谢谢:)我会将代码修改为:
public void move(int direction)
{
if ( position > 5)
{
direction = - 1;
}
else if ( position < -5)
{
direction = + 1;
}
this.position = position + direction;
this.velocity = velocity + position;
}
public void移动(int方向)
{
如果(位置>5)
{
方向=-1;
}
否则,如果(位置<-5)
{
方向=+1;
}
这个位置=位置+方向;
速度=速度+位置;
}
首先将方向设置为+/-1(根据您的逻辑),然后再更改位置
您当前的操作方式-只有在您执行“移动”操作后,更改方向的值(这是一个局部变量)并完成方法的执行(然后删除此局部变量的值),才不会产生任何影响
顺便说一下:
您没有“覆盖”位置==5的情况(可能是故意的?)
如果要在方法内部设置方向,为什么还要麻烦在方法的签名中传递它呢
方向不应该是1
或-1
。加法或减法可能不会改变方向,反而会减慢或加快移动速度……@MadProgrammer要么我不理解你的评论,要么(即使它是正确的)与我的答案无关。不,你完全按照我说的做,我把=-1
看作-=
和=+1
看作+=
-我的宝贝你可以看看,这是简单的动画。。。