Форум 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=105225)

Thanx7 10.12.2007 22:31

Как из одного класса вызвать другой?
 
Есть класс main.as:
Код:

package
{
        import flash.display.Sprite;

        public class main extends Sprite
        {

                public function main ()
                {
                        var my_flower:Flower=new Flower();
                        this.addChild (my_flower);

                        var myCactus:CactusBase = new CactusBase();
                        this.addChild(myCactus);

Есть класс
Код:

package
{
...
        public class Flower extends Sprite
        {
                public function Flower ():void
                {
                      ...
                        this.addEventListener (Event.ENTER_FRAME,draw_flower);
                }

                function draw_flower (evt:Event):void
                {
                событие
                }

и такой класс

Код:

package
{
        import flash.display.Sprite;

        public class CactusBase extends Sprite
        {
                public function CactusBase ()
                {
                        var cactusSprite:Cactus = new Cactus();
                        this.addChild(cactusSprite);
                        cactusSprite.x = 687;
                        cactusSprite.y = 250;
                }
        }
}

Как сделать так, чтобы класс CactusBase запускался после события в слушателе другого класса Flower? Оба эти класса вызываются из Document Class. Не хочется прописывать класс CactusBase внутри слушателя класса Flower, хочется, чтобы он был внешним, но реагировал на изменения в классе Flower. Как это осуществляется?

etc 10.12.2007 22:53

Вы где-нибудь во фреймворке плеера видели классы, которые имеют имена со строчной буквы?

Вопрос непонятен, особенно в свете «запускался».

Thanx7 11.12.2007 10:19

Понятно. Значит в данном случае вызов:

Код:

                        var myCactus:CactusBase = new CactusBase();
                        this.addChild(myCactus);

я могу делать только из класса Flower - иначе никак. Нельзя вызывать класс CactusBase из Main, и в то же самое время прописывать события для него во Flower.

PS. А main.as на Main.as поменял.

etc 11.12.2007 10:35

Можно добавить CactusBase в Flower (хотя по названиям должно быть наоборот) и отправлять всплывающее событие.


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

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