Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание экземпляра класса/подкласса (http://www.flasher.ru/forum/showthread.php?t=182191)

Tetraeon 15.07.2012 13:53

Создание экземпляра класса/подкласса
 
Здравствуйте, у меня возникла проблема при создании экземпляра класса/подкласса. есть класс Heroes и его подкласс Warrior нужно правельно создать переменную класса Warrior, присвоить ей отображение warrior_mc и добавить в контейнер с объектами на сцене... казалось бы ничего сложного:
Код AS3:

public var warrior:Warrior = new warrior_mc;
public var objCont:MovieClip = new MovieClip;
objCont.addChild(warrior);
addChild(objCont);
warrior.x = 200;
warrior.y = 400;

Но вот в чем загвоздка, если в функцию AddToStage класса Heroes(которая запускается сразу при появлении экземпляра на сцене) написать присвоение переменной типа Point, координаты этого экземпляра...:
Код AS3:

public var heroPoint:Point;
public function Heroes()
{
        hero = this;
        addEventListener(Event.ADDED_TO_STAGE, addHeroes);
}
                public function addHeroes(e:Event):void
                {                       
                        heroPoint = new Point(this.x,this.y);
                        removeEventListener(Event.ADDED_TO_STAGE, addHeroes);
                }

..то присваиваются координаты (0,0); Пробовал и в самих подклассах таким же образом присваивать heroPoint = new Point(this.x,this.y); все тоже самое получается. Мне кажется я переменную не правильно объявляю.
Вопрос что я не так сделал?

caseyryan 15.07.2012 14:20

Он добавляется раньше, чем успевают присвоиться координаты.
Можно попробовать так:
Код AS3:

public var warrior:Warrior = new warrior_mc;
public var objCont:MovieClip = new MovieClip;
warrior.x = 200;
warrior.y = 400;
objCont.addChild(warrior);
addChild(objCont);


Wolsh 15.07.2012 14:27

И где здесь проблемы с созданием экземпляра?

Название темы не отражает сути вопроса.
Закрыто.


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

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