![]() |
|
||||||||||
|
|||||
|
Есть у меня фла файл с мувиклипом, базовый класс мувиклипа = Base:
package { import flash.display.MovieClip; public class Base extends MovieClip{ public function Base():void{ var rt1 = new Rotation_class(); } } } package { import flash.display.MovieClip; public class Rotation_class extends MovieClip{ public function Rotation_class(){ } public function rotate_me(){ this.rotation+=10; } } } Как мне к нему применить функцию rotate_me() класса Rotation_class, не особо меняя структуру всего происходящего? (тобишь я знаю, что если ф-цию rotate_me() дописать в класс Base, а патом в фла файле написать my_rect.rotate_me(); , то все будет работать, а мне самый интерес в том, что бы сделать свою библиотеку классов, а эту проблему я некак не могу осилить ) |
|
|||||
|
Передать ссылку на экземпляр Base в конструкторе Rotation_Class
Base: package { import flash.display.MovieClip; public class Base extends MovieClip{ public function Base():void{ var rt1 = new Rotation_class(this); } } }
__________________
...вселенская грусть |
|
|||||
|
.
|
Цитата:
По сути. Не стоит так заморачиваться и создавать _Отдельный_Класс_Реализующий_Поворот_На_Десять_Градусов_. Традиционно: "некак" - это, извините, когда не получается сходить по-большому... Последний раз редактировалось dimarik; 24.12.2009 в 00:33. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Под базовым скорее всего подразумевался Base class из linkage properties. Хотя, возможно, и нет...
![]() |
|
|||||
|
.
|
Дружище, udaaff! Это все понятно, но нужно как-то прививать любовь к точным определеням. И к русскому языку в частности.
|
|
|||||
|
Цитата:
Может, в цепочке чего забыл, но не суть - Base стоит самым первым ведь (ну хорошо, если смотреть вглубь - то последним). dimarik, если ты не ошибся - то кто тогда стоит первым? :O Base -> MovieClip -> Sprite -> Shape -> DisplayObject -> EventDispatcher -> Object
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
![]() |
|
|||||
|
.
|
Цитата:
Все правильно, Base предпоследний. По-поводу что считать первым. Ты же не считаешь Адама последним в цепочке наследования человечества. Sprite никогда не наследовался от Shape. Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject -> EventDispatcher -> Object Последний раз редактировалось dimarik; 24.12.2009 в 01:24. |
|
|||||
|
попробуйте:
дописываете в base.as import Rotation_class.rotate_me; и используете: rotate_me(); тут я не уверен, что this укаже куда надо ---------------- Но есть способ 2. //в классе Base пишем так var rt1_func:Function = rt1.rotate_me; //тут обратите внимание на большие //и малые буквы rt1_func.call(this); стало быть и вот так должно получиться: rt1.rotate_me.call(this) или в вашем случае my_rect.rt1.rotate_me.call(this), но переменную rt1 все же прийдется сделать public |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|