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

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

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

Регистрация: Apr 2015
Сообщений: 1
По умолчанию class - как обратиться к экземпляру

Допустим у меня есть пакет с таким содержанием:
Код AS3:
package balls
{
      public class ball extends MovieClip
      {
            public function ball_up () : void
            {
                 // обратиться здесь  
            }
      }
}
В действии я делаю :
Код AS3:
var new_ball = new ball();
addChild(new_ball);
new_ball.ball_up();
Вопрос: Как в пакете обратиться к new_ball ? (например : вызвать функцию removeChild(new_ball) )

Старый 08.04.2015, 01:17
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
В следующий раз за название темы, не раскрывающее сути вопроса, тема будет закрываться.

Цитата:
// обратиться здесь
this
Цитата:
вызвать функцию removeChild(new_ball)
для начала разберитесь, откуда должен удаляться ребенок.
Читайте про:
Класс и экземпляр
Display list - Список отображения
DisplayObjectContainer - Контейнер

Экземпляр класса ball не может удалить сам себя, не может "сделать" removeChild(...), потому что не является Child самого себя)) Чтобф вызвать removeChild(this), нужно иметь ссылку на контейнер, из списка отображения которого Вы удаляете this, и вызвать этот метод у него. Читайте про свойство .parent
__________________
Reality.getBounds(this);

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Для удаления мувика я обычно создаю внутри него функцию-деструктор, которая подчищает все за ним, навроде того:

Код AS3:
private function destructor():void { //эту функцию можно и public делать, т.к. она может быть элементом внешнего интерфейса
           //удаление всякого-всего, например листенеров
           //и удаление данного мувика из его родителя, кем бы он ни был
           this.parent.removeChild(this);
           }
__________________
while(live()) { hope(); }

Старый 08.04.2015, 06:58
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
private function destructor():void
Какое-то название не феншуйное) Название метода должно быть глаголом в данном случае. А destructor() должен в таком случае возвращать какой-то экземпляр деструктора
Лучше уже тогда назвать destroy() или dispose()

Старый 08.04.2015, 14:27
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 5  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
caseyryan логично!=) На практике я зачастую называю как-нить типа "removeThis" или "destroyMe"
__________________
while(live()) { hope(); }

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
что тоже выглядит нелепо в месте вызова, типа Вася.убейМеня(), хотя подразумевается ровно наоборот. Поменьше лирики, и логика восторжествует на сухих останках ©
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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