|
|
|||||
Регистрация: Feb 2010
Сообщений: 3
|
Полное удаление объекта
Всем привет!
Объявляю два объекта (addChild). Один неподвижный, другой Первый раз касаются друг друга - всё как бы хорошо и статичный объект удаляется. Но когда второй раз летит в то место, то функция срабатывает опять. Т.е. как буд-то не убрался объект, а стал невидимым. Вот код функции: function polet(e:Event):void{ directionX = dirKoefX * 1; directionY = dirKoefY * 1; Shar_mc.y -=accelerate * directionY; Shar_mc.x -=accelerate * directionX; if (Shar_mc.y < 0+21 || Shar_mc.y > 400-21){ dirKoefY = directionY * -1; } if (Shar_mc.x < 0+21 || Shar_mc.x > 550-21){ dirKoefX = directionX * -1; } if (Shar_mc.hitTestObject(block1)){ dirKoefY = directionY * -1; removeChild(block1); } } |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
Для того, чтобы hitTestObject выполнялся, сравниваемые объекты вообще не обязаны быть выложены на сцену, т.е. removeChild на результат hitTestObject не влияет (точнее влияет только когда сравниваемый объект расположен не в корневом мувиклипе). Стоит прекратить проверять block1 на коллизию с Shar_mc после первого попадания и удалить все ссылки на него.
Последний раз редактировалось dixus; 19.02.2010 в 15:33. |
Часовой пояс GMT +4, время: 21:40. |
|
« Предыдущая тема | Следующая тема » |
Теги |
hittestobject , removeChild |
|
|