![]() |
как использовать метод класса?
Есть у меня фла файл с мувиклипом, базовый класс мувиклипа = Base:
Код AS3:
Код AS3:
Как мне к нему применить функцию rotate_me() класса Rotation_class, не особо меняя структуру всего происходящего? (тобишь я знаю, что если ф-цию rotate_me() дописать в класс Base, а патом в фла файле написать my_rect.rotate_me(); , то все будет работать, а мне самый интерес в том, что бы сделать свою библиотеку классов, а эту проблему я некак не могу осилить:umnik2:) |
Передать ссылку на экземпляр Base в конструкторе Rotation_Class
Base: Код AS3:
Код AS3:
|
Цитата:
По сути. Не стоит так заморачиваться и создавать _Отдельный_Класс_Реализующий_Поворот_На_Десять_Градусов_. Традиционно: "некак" - это, извините, когда не получается сходить по-большому... |
Под базовым скорее всего подразумевался Base class из linkage properties. Хотя, возможно, и нет... :)
|
Цитата:
|
Цитата:
Может, в цепочке чего забыл, но не суть - Base стоит самым первым ведь (ну хорошо, если смотреть вглубь - то последним). dimarik, если ты не ошибся - то кто тогда стоит первым? :O Base -> MovieClip -> Sprite -> Shape -> DisplayObject -> EventDispatcher -> Object |
Цитата:
|
Цитата:
Все правильно, Base предпоследний. По-поводу что считать первым. Ты же не считаешь Адама последним в цепочке наследования человечества. Sprite никогда не наследовался от Shape. Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject -> EventDispatcher -> Object |
попробуйте:
дописываете в base.as import Rotation_class.rotate_me; и используете: rotate_me(); тут я не уверен, что this укаже куда надо ---------------- Но есть способ 2. Код AS3:
стало быть и вот так должно получиться: rt1.rotate_me.call(this) или в вашем случае my_rect.rt1.rotate_me.call(this), но переменную rt1 все же прийдется сделать public |
chabapok, Вам поршня менять нужно. А то прихватит.
|
Цитата:
Цитата:
|
Цитата:
В мою последнюю фразу в предыдущем посте вкралась очепяточка. Читать следует так my_rect.rt1.rotate_me.call(my_rect) Попробуйте. но лучше, конечно, так не делать, это плохой, негодный стиль |
chabapok
эм. вроде работает, но объект не крутиться, я дописал еще в классе Rotation_class в функции rotate_me() "trace("jiosdg");" ну так вот он это выводит, а объект все равно не вращаеться. gloomyBrain, написал как вы сказали, но нужного эффекта не добился, мб мне в самом фла файле нужно что-то хитрее чем "my_rect.rotate_me();" написать? |
Цитата:
|
Цитата:
Код AS3:
Цитата:
|
Цитата:
Заюзайте дебаггер и сравните адреса. Цитата:
можно, например, завести отдельный класс с функцией Код AS3:
Но изучая исходники fl.controls.DataGrid обнаруживаешь, что там такое используется. Там правда не call а apply используют, но суть так же. |
| Часовой пояс GMT +4, время: 08:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.