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

pas.delger 21.01.2011 17:56

Управление мувиклипом из класса
 
Здравствуйте, друзья!

Вопрос по ООП. Хотелось бы узнать, можно ли реализовать следующий механизм и, если можно, как это сделать:

Я хочу написать класс, в котором будут храниться методы для управления каким-либо мувиклипом на сцене.

Например, я написал класс MyController, в котором находится метод сдвигающий клип MC:

Код AS3:

public class MyController{
 
        public function moveMC(n:Number){
                MovieClip(root).myMC.x += n;
        }
 
}

Далее, при нажатии на кнопку я создаю экземпляр класса и вызываю метод moveMC.

Код AS3:

var myController:MyController = new MyController;
myController.moveMC(50);

Когда так делаю вылазит ошибка, что то связанное со ссылкой на объект типа null.

Подскажите, пожалуйста способ, как это реализовать.

Спасибо!

GemiBillyBob 21.01.2011 18:11

Мне кажется лучше было бы сделать это так:
Код AS3:

package{
public class MyController{
        import flash.display.MovieClip;
 
        public function MyController(){} // пустой конструктор на всякий случай
 
 
        public function moveMC(_x:Number, _y:Number,_mc:MovieClip):void{
                _mc.x += _x;
                _mc.y += _y;
        }
 
    }
}

И вызов, соответственно, если в кадре:
Код AS3:

var myController:MyController = new MyController;
myController.moveMC(34,12,myMC); // !important, myMC - мувик с таким именем (instance name) в данном кадре

Пока писал, понял, что всё это странно, но, надеюсь, чем-то помог.

pas.delger 21.01.2011 19:25

спасибо!


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

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