Object 对象数组定位LibGdx
在我的游戏中,如果我触摸到一个特定的物体,硬币物体将以随机的速度从中出来并占据随机的位置Object 对象数组定位LibGdx,object,libgdx,Object,Libgdx,在我的游戏中,如果我触摸到一个特定的物体,硬币物体将以随机的速度从中出来并占据随机的位置 public void update(delta){ if(isTouched()&& getY()<Constants.WORLD_HEIGHT/2){ setY(getY()+(randomSpeed * delta)); setX(getX()-(randomSpeed/4 * delta)); } } 公共无效更新(增
public void update(delta){
if(isTouched()&& getY()<Constants.WORLD_HEIGHT/2){
setY(getY()+(randomSpeed * delta));
setX(getX()-(randomSpeed/4 * delta));
}
}
公共无效更新(增量){
if(isTouched()&&getY()在我的游戏中,当我想让某个物体在X,Y处达到某个特定的坐标Xe,Ye,在每一帧,我加上它的坐标,当前位置和想要的位置之间的差值,除以常数,再乘以从上一帧经过的时间。这样,它开始快速移动,并且随着它越来越近慢慢移动,看起来有点酷
X += ((Xe - X)* dt)/ CONST;
Y += ((Ye - Y)* dt)/ CONST;
你会在实验中得到常数值,较大的值意味着较慢的运动。如果你想让它看起来更酷,你可以添加速度变量,而不是根据距离终点位置的距离直接改变坐标,你可以调整该速度。这样,即使物体在某个点到达终点位置,它仍然会有一些速度速度,它会继续运动——它会有惯性。实现起来有点复杂,但运动会更疯狂
如果你想让Xe成为某个特定的位置(不是随机的),那么只需设置这些常量值。无需使其变得更复杂。像另一个常量偏移一样设置:
static final int OFFSET = 100;
Xe1 = X - OFFSET; // for first coin
Ye1 = Y - OFFSET;
Xe2 = X + OFFSET; // for second coin
Ye2 = Y - OFFSET;
...
static final int OFFSET = 100;
Xe1 = X - OFFSET; // for first coin
Ye1 = Y - OFFSET;
Xe2 = X + OFFSET; // for second coin
Ye2 = Y - OFFSET;
...