![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 2
|
В книге "ActionScript 3 Design Patterns" увидел пример использования этого шаблона - вызов сообщения по таймеру.
На его основе я попробовал сделать своё - вывод сообщения по щелчку мыши. В дальнейшем хочу сделать таким способом перетаскивание объектов на экране. Но ничего не получается, флэш при компилировании выдаёт ошибку "TestInterfaceOne.as, Line 38 1136: Incorrect number of arguments. Expected 1.". Вот сам код: IDrag.as DragCommand.as package { class DragCommand implements IDrag { var dragReceiver:DragReceiver; public function DragCommand(rec:DragReceiver):void { this.dragReceiver = rec; } public function execute():void { dragReceiver.action(); } } } DragReceiver.as package { import flash.events.*; import flash.display.*; public class DragReceiver extends Sprite { function action() { trace("hit!"); } } } DragInvoker.as package { import flash.display.*; import flash.events.*; class DragInvoker extends Sprite{ var currentCommand:IDrag; public function setDragCommand(c:IDrag) { this.currentCommand = c; trgt.addEventListener(MouseEvent.CLICK, this.trigerPressed); } public function trigerPressed(event:MouseEvent):void { currentCommand.execute(); } } } TestInterfaceOne.as package { import flash.display.*; import flash.events.*; import flash.geom.*; public class TestInterfaceOne extends MovieClip{ public function TestInterfaceOne(){ /*Для удобства восприятия я убрал код вызова мувиклипов в сцену*/ var rec:DragReceiver = new DragReceiver(); var concCommand:IDrag = new DragCommand(rec); var invoker:DragInvoker = new DragInvoker(); invoker.setDragCommand(concCommand); invoker.setTriger(); } } } |
![]() |
Часовой пояс GMT +4, время: 12:45. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| AS3 , OOP , pattern |
|
|