Я работаю с libgdx, и у меня есть такая ситуация, когда я использую Stage
с присоединенными тремяActors
. Когда для сцены вызывается метод act()
, вызывается метод act() каждого из актеров. Это поведение по умолчанию, и оно правильное.
Но если я размещаю сцену в методе act()
второго актера, то метод act()
третьего актера все еще вызывается. Я не ожидал такого поведения. Как будто этот актер не отсоединяется сразу после вызова метода dispose()
на сцене. Этот последний вызов третьего актера проблематичен для меня, потому что я получаю исключение и не знаю, как его избежать. Если бы метод act() третьего актера не вызывался в последний раз перед тем, как сцена будет фактически удалена, было бы здорово.
У вас есть идеи, как я могу этого избежать?
Мне сложно изменить свой игровой дизайн, потому что в моем случае второй актор — враг, а третий актор — защитная башня. Когда враг умирает, я располагаю сцену, чтобы показать игру на экране. Но башня по-прежнему действует на заднем плане...
act
каждого актора вызывается один раз в кадре, независимо от того, что делают другие акторы. Я думаю, что в большинстве случаев это самое полезное поведение. Может быть, вы могли бы рассказать, что происходит в методе действия вашей башни, что вызывает исключение. - person Tenfour04   schedule 05.12.2014