Показать сообщение отдельно
Старый 02.02.2013, 16:40
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 5  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
Zebestov, caseyryan: И действительно. Внутри класса шарика есть событие Энтерфрейм, перемещающее его.
Добавил внутрь функцию убивания этого события.
Вот такую:
Код AS3:
		public function kill():void
		{
			removeEventListener(Event.ENTER_FRAME, moveBall);
			stage.removeEventListener(MouseEvent.MOUSE_DOWN, on_mouse_down);
		}
И после того, как время закончилось или все кирпичики выбиты - я по-прежнему удаляю классы шариков и выполняю эту функцию kill

Код AS3:
if (ballNumber == 3)
				{
					_ball3.kill();
					removeChild (_ball3);
					_ball3 = null;
					ballNumber = 2;
				}
				if (ballNumber == 2)
				{
					_ball2.kill();
					removeChild (_ball2);
					_ball2 = null;
					ballNumber = 1;
				}					
				if (ballNumber == 1)
				{
					_ball.kill();
					removeChild (_ball);
					_ball = null;
					ballNumber = 0;
				}
Однако этоне помогает. Когда несколько шариков и я выхожу со сцены - килятся не все.
Визуально удаляются все, а передвижения иногда от некоторых шариков остаются.
Выражается это в том, что если после окончания уровня сразу запустить следующий (или этот-же) уровень - иногда случается, что невидимый шарик (который не до конца удалился) с прошлого уровня начинает выбивать кубики.