Я хочу, чтобы моя программа удаляла объект, который больше не отображается в окне проигрывателя для сохранения памяти. Я пытаюсь что-то вроде этого:Как удалить пулю, когда она достигает определенного расстояния? JAVA Libgdx
В классе игры (метод отрисовки):
if(fireDelay >= 0.4f){
Laser laser = new Laser();
laser.shoot(nave.getRotation(), nave.getX(), nave.getY());
escenario.addActor(laser);
if(laser.getLimit()){
escenario.addAction(Actions.removeActor(laser));
fireDelay = 0;
}
}
В классе лазерной
public boolean getLimit(){
return limit;
}
@Override
public void act(float dt){
super.act(dt);
elapsedTime += dt;
distancia += dt;
setRotation(rotacion);
if(distancia == 0.4f)
limit = true;
}
Но очевидно ... не работает ... Я тоже увидел, что вы можете справиться с пулями с арраистом, но я стараюсь это сделать, и я не мог его получить ... Как мы могли это сделать?
Вы говорите здесь три вещи. Вы хотите удалить пулю, когда: 1: пуля не отображается игроку. 2: Когда пуля прошла заданное расстояние. 3: Когда пуля жива в течение 4 секунд. Который из них? – IronMonkey
@ IronMonkey Последнее, что вы упомянули (как видно из кода), это то, как я это делаю (принимая время с dt) .... либо расстояние, либо время, независимо от того, как вы это делаете, я просто хочу удалить пуля игры ... – TwoDent