Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.01.2008, 08:06
PeTa4eK вне форума Посмотреть профиль Отправить личное сообщение для PeTa4eK Найти все сообщения от PeTa4eK
  № 1  
Ответить с цитированием
PeTa4eK
 
Аватар для PeTa4eK

Регистрация: Jan 2007
Адрес: [1,1,1]
Сообщений: 135
Записей в блоге: 2
Отправить сообщение для PeTa4eK с помощью ICQ
По умолчанию Полностью удалить мувик + его класс

Допусти я создаю определенный клас на рут
var enemy:game.enemy = new game.enemy();
addChild(enemy);

Как его потом полностью удалить? именно со своим классом..
Потому что если писать просто removeChild(enemy) удаляется вроде токо визуальная часть класса, и поетому потом вылазиют ошибки типо немогут выполнятся действия для нулл обьектов.
пример ошибки:
Цитата:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at game::enemy/update()
Вобщем как полностью удалить то что я создал?

Старый 28.01.2008, 09:06
Ajshma вне форума Посмотреть профиль Отправить личное сообщение для Ajshma Найти все сообщения от Ajshma
  № 2  
Ответить с цитированием
Ajshma

Регистрация: Jan 2008
Сообщений: 23
Логически подходи к этой проблеме.
У тебя выскакивает ошибка по методу update() объекта enemy.
Это означает, что ты обращаешься к этому методу либо когда уже объект удален снаружи, либо изнутри самого удаленного объекта.
Скорее всего у тебя внутри объекта висит евент, который этот метод вызывает. Что нужно сделать? Всего лишь, написать метод удаления объекта, который исключит работу евентов уже после удаления объекта.
В методе удаления напиши удаление всех евентов внтури объекта и только потом применяй parent.removeChild(this).

Старый 28.01.2008, 10:21
PeTa4eK вне форума Посмотреть профиль Отправить личное сообщение для PeTa4eK Найти все сообщения от PeTa4eK
  № 3  
Ответить с цитированием
PeTa4eK
 
Аватар для PeTa4eK

Регистрация: Jan 2007
Адрес: [1,1,1]
Сообщений: 135
Записей в блоге: 2
Отправить сообщение для PeTa4eK с помощью ICQ
Вобщем большое спасибо. Твой скрипт не помог но ты наталкнул меня на путь истинный я просто удалил метод update с помощью removeEventListener(Event.ENTER_FRAME,update) и удалил чхилд.
Спасибо!

Старый 28.01.2008, 10:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
PeTa4eK, вы где-нибудь в флешовом фреймворке видели классы, у которых имена с маленькой буквы начинаются? Если нет, то почему ваши классы имеют имена с маленькой буквы?

Старый 28.01.2008, 10:35
Ajshma вне форума Посмотреть профиль Отправить личное сообщение для Ajshma Найти все сообщения от Ajshma
  № 5  
Ответить с цитированием
Ajshma

Регистрация: Jan 2008
Сообщений: 23
PeTa4eK, еще как бы помог. Ты сделал точно также, только через задницу
Мой совет является более правильным в том плане, что в метод удаления самого себя ты потом можешь добавить удаление любого евента, который в последствии добавил. _etc не даст соврать

Старый 31.01.2008, 05:47
PeTa4eK вне форума Посмотреть профиль Отправить личное сообщение для PeTa4eK Найти все сообщения от PeTa4eK
  № 6  
Ответить с цитированием
PeTa4eK
 
Аватар для PeTa4eK

Регистрация: Jan 2007
Адрес: [1,1,1]
Сообщений: 135
Записей в блоге: 2
Отправить сообщение для PeTa4eK с помощью ICQ
Цитата:
PeTa4eK, вы где-нибудь в флешовом фреймворке видели классы, у которых имена с маленькой буквы начинаются? Если нет, то почему ваши классы имеют имена с маленькой буквы?
Спасибо все исправил... А то я думал почему немогу просто загрузить класс не используя полный путь от фла.

Блин проблема осталась... незнаю почему вылазиют ошибочки вобщем вот исходник:
-УДАЛЕНО-
Управление стрелками, левая кнопка вытащить лезвия.Помогите плиззз!
Ошибки:
Цитата:
at Game::FireBullet/update()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Game::Enemy/update()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Вроде и удаляю и нет а всеравно эта долбаная ошибка!


Последний раз редактировалось PeTa4eK; 01.02.2008 в 05:20. Причина: Ненадобность раскрывать ссылку.
Старый 01.02.2008, 05:26
PeTa4eK вне форума Посмотреть профиль Отправить личное сообщение для PeTa4eK Найти все сообщения от PeTa4eK
  № 7  
Ответить с цитированием
PeTa4eK
 
Аватар для PeTa4eK

Регистрация: Jan 2007
Адрес: [1,1,1]
Сообщений: 135
Записей в блоге: 2
Отправить сообщение для PeTa4eK с помощью ICQ
Вобщем решил свою проблему. Конечно через попу. Ошибка помоему была изза того что почемуто выполнялось еще какоето действие после удаления...
Вобщем я создал переменную которая меняет свое значение при удалении евента, и потом если значение какоето то удаляется графическая составляющая в другом евенте(тот уже удален).


Последний раз редактировалось PeTa4eK; 01.02.2008 в 05:30.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:42.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.