我希望更改" bucket"的Y位置,当摄像机Y位置高于"最后创建的桶" Y位置:我的代码在" create()"方法
buckets = new Array<Bucket>();
for(int i=1;i<BUCKET_COUNT;i++){
buckets.add(new Bucket(world,(rand.nextInt((int)W)-45)/PPM,BUCKET_MARGIN*i/PPM));
}
我在&#34; render()&#34;方法:
for(Bucket bucket : buckets){
if(cam.position.y > buckets.peek().getBody().getPosition().y){
bucket.repos(rand.nextInt((int)W)/PPM,buckets.size+BUCKET_MARGIN/PPM);
}
}
回购():
public void repos(float x, float y){
setPosition(x, y);//Bucket class is extends Sprite
}
但它没有用,我也不知道如何解决这个问题
我想知道如何从这些数组中获取最后项目?
答案 0 :(得分:0)
你应该试试这个,
if(cam.position.y > buckets.peek().getPosition().y){
for(Bucket bucket : buckets){
bucket.repos(rand.nextInt((int)W)/PPM,buckets.size+BUCKET_MARGIN/PPM);
}
}
在这个桶的位置没有正确指定,因为根据你的代码,所有桶都设置为特定的y位置。
编辑
if(cam.position.y > buckets.peek().getPosition().y){
for(Bucket bucket : buckets){
bucket.repos(rand.nextInt((int)W)/PPM,cam.position.y+bucket.getPositon().y);
}
}
编辑2
看看这个tutorial,我认为它对你有帮助。