0
所以我有一個精靈與另一個精靈相交,當發生這種情況時,我想刪除第一個精靈,以便它無法看到或與之交互。 我目前正在繪製紋理,然後在同一個地方繪製一個矩形,以便我可以爲矩形進行交互。我也可以使用'精靈'代替。刪除精靈Libgdx Java
問題:
我不知道我可以刪除精靈,使其不能被看到,並且不能與之交互。我也希望能夠以其他方式做到這一點,而不是在那裏能夠看到並與之互動。有任何想法嗎?
所以我有一個精靈與另一個精靈相交,當發生這種情況時,我想刪除第一個精靈,以便它無法看到或與之交互。 我目前正在繪製紋理,然後在同一個地方繪製一個矩形,以便我可以爲矩形進行交互。我也可以使用'精靈'代替。刪除精靈Libgdx Java
問題:
我不知道我可以刪除精靈,使其不能被看到,並且不能與之交互。我也希望能夠以其他方式做到這一點,而不是在那裏能夠看到並與之互動。有任何想法嗎?
有很多方法可以實現你想要的。我也不確定你在問什麼。你想暫時禁用雪碧嗎?或者你想完全刪除精靈?
要暫時禁用你可以做的精靈如下:
public class Entity extends Sprite{
private boolean visible;
**Constructor and other methods**
public void setVisible(boolean visible){
this.visible = visible;
}
public boolean isVisible(){
return visible;
}
}
在你更新/渲染方法:
Array<Entity> entities = new Array<Entity>();
entities.add(...sprite/entity1, sprite/entity2);
for(Entity entity : entities){
if(entity.isVisible()){
entity.update(delta);
entity.draw(batch);
}
}
,如果你想徹底刪除雪碧:
public class Entity extends Sprite{
private boolean remove = false;
**Constructor and other methods**
public void remove(){
remove = true;
}
public boolean shouldRemove(){
return remove;
}
}
在您的更新/渲染方法中:
Array<Entity> entities = new Array<Entity>();
for(int i = 0; i < entities.size; i++){
entities.get(i).update(delta);
entities.get(i).draw(batch);
if(entities.get(i).remove()){
entities.removeIndex(i--);
}
}