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

dzmitryss 02.08.2010 09:43

Как правильно присоединить класс к мувику?
 
В общем ситуация такая.

У меня на сцене три мувиклипа: King , Quin , Princ

[IMG]http://img826.**************/img826/3899/52043679.png[/IMG]


Для них я создал класс hero

Код AS3:

package  {
 
        import flash.display.MovieClip;
 
        public class hero extends MovieClip {
 
                var m : Number;
 
                public function hero() {
                        // constructor code
                }
 
        }
 
}


В библиотеке следующим образом прикрепил этот класс к каждому клипу

[IMG]http://img517.**************/img517/4741/51434511.png[/IMG]


Когда начинаю обращаться к какому либо из этих клипов, то выдает ошибку


Код AS3:

package  {
 
        import flash.display.Sprite;
        import flash.display.MovieClip;
        import flash.events.*;
        import hero;
 
        dynamic public class test2 extends Sprite{
 
                public function test2() {
                        // constructor code
 
                        king.x = position_k_1.x;
                        king.y = position_k_1.y;
                }
 
        }
 
}



[IMG]http://img525.**************/img525/3339/58801814.png[/IMG]


Подскажите, что я неправильно делаю.

mry 02.08.2010 10:44

у всех героев должен быть класс hero

и тогда можно делать так:
Код AS3:

package  {
 
        import flash.display.Sprite;
        import flash.display.MovieClip;
        import flash.events.*;
        import hero;
 
        dynamic public class test2 extends Sprite{
                private var King:hero=new hero();
                private var Quin:hero=new hero();
                private var Princ:hero=new hero();
 
                public function test2() {
                        // constructor code
                        addChild(king);
                        king.x = position_k_1.x;
                        king.y = position_k_1.y;
                }
 
        }
 
}

как-то так

dzmitryss 02.08.2010 11:29

Как-то совсем НЕ ТАК

Попробовал сделать. Тогда Кинга который на сцене код вообще не воспринимает. Ошибок не выдает, только в коде создается новый класс который заменяет мувик.

-De- 02.08.2010 12:44

Name и Class разные бы ещё сделать.

udaaff 02.08.2010 12:55

Код AS3:

private var King:hero=new hero();

У вас всё вверх ногами. Названия классов принято писать с большой буквы, имена переменных с маленькой.

dzmitryss 02.08.2010 14:56

Ну и что? Пусть с названиями все вверх ногами. Все равно так не работает.

Еще раз попробую сформулировать свой вопрос.
Мне нужно к трем разным мувикам прикрепить один класс hero. Как это правильно сделать?

Способ который предложил mry не работает. Я проверил.

Кто знает помогите пожалуйста!

leofit 02.08.2010 15:38

для всех трех укажите class = base class = hero

lumaca 02.08.2010 15:38

А к чему и как прикреплен сам test2 ?

dzmitryss 02.08.2010 18:07

leofit -- я так делал в самом начале (я об этом писал) только когда я начинаю использовать объект выдает ошибку (все написано выше)
Если указать class = base class = hero только для одного мувика то все работает

а если для нескольких - ошибка.


lumaca test2 - это основной класс, где пишется вся программа, прикреплен к самому проекту.

Cher80 02.08.2010 18:36

а где у вас сам класс king если вы его прописываете? он тоже должен быть и видимо extend'ить класс hero


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

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