Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Исчезновение объектов 1го класса (http://www.flasher.ru/forum/showthread.php?t=181422)

Tetraeon 22.06.2012 18:06

Исчезновение объектов 1го класса
 
Здравствуйте, интересует вопрос, как можно заставить исчезнуть разные объекты одного класса, где бы они не находились (в MovieClip'ах) прописав в условии просто obj1.visible=false; obj2.visible=false; и.д. Думаю нужно сделать все эти объекты экземплярами одного класса , но не знаю как к ним обратится из самого класса, что бы данное действие применилось ко всем "obj1" в 1 условии и ко всем "obj2" во 2м.

Jewelz 22.06.2012 18:08

вам необходимо просто сохранять все экземпляры созданного класса, например, в статичной переменной этого класса, и сделать статичный метод SomeClass.hideAll(), SomeClass.showAll()

главное не забывать удалять их оттуда когда они не нужны

Tetraeon 22.06.2012 18:22

А как создать static переменные этого класса в этом же классе?
имя MovieClip lock2_mc; и lock3_mc
класс Lock
Пробовал:
Код AS3:

public static var lock2_mc:Lock;
public static var lock3_mc:Lock;

Но при обращении к ним в окне вывода выдает ошибку.

Jewelz 22.06.2012 18:29

в классе Lock:
Код AS3:

public static var instanses:Array = [];

при создании экземпляра кидаем его в этот массив:
Код AS3:

Lock.instanses.push(lock2_mc, lock3_mc);

можно автоматизировать и делать это, например, в конструкторе Lock:
Код AS3:

Lock.instanses.push(this);

и создать статичный метод hideAll:
Код AS3:

public static function hideAll():void
{
      var length:int = Lock.instanses.length;
      while(length--) Lock.instanses[length].visible = false;
}


Tetraeon 22.06.2012 18:34

Спасибо, а на lock2_mc, lock3_mc как объявлять переменные?
как не пробую, ошибки выдает при обращении к ним.

Jewelz 23.06.2012 01:40

Цитата:

Сообщение от Tetraeon (Сообщение 1085774)
А как создать static переменные этого класса в этом же классе?
имя MovieClip lock2_mc; и lock3_mc
класс Lock
Пробовал:
Код AS3:

public static var lock2_mc:Lock;
public static var lock3_mc:Lock;

Но при обращении к ним в окне вывода выдает ошибку.

Код AS3:

public static var lock2_mc:Lock = new Lock();

обращаться через Lock.lock2_mc

только я не понимаю зачем это нужно


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

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