![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2010
Адрес: Russian Federation
Сообщений: 59
|
Нужно, чтобы в каждом фрейме трейсился заданный элемент массива. Как передать в функцию traceNumEnterFrame() параметр?
package { import flash.display.MovieClip; import flash.events.*; public class arrayCheck extends MovieClip { var myArray:Array; public function arrayCheck() { myArray = new Array(1,2,3,4,5,6,7,8,9,10); var myVar:uint = 4; addEventListener(Event.ENTER_FRAME, traceNumEnterFrame); } public function traceNumEnterFrame(event:Event) { trace(myArray[myVar]);//1120: Access of undefined property myVar. } } } |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну сделайте myVar полем класса.
|
|
|||||
|
Регистрация: Mar 2010
Адрес: Russian Federation
Сообщений: 59
|
Существует ли возможность передать параметр, не делая myVar полем класса?
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
package { import flash.display.MovieClip; import flash.events.*; public class arrayCheck extends MovieClip { private var myArray:Array; private var myVar:uint; public function arrayCheck() { myArray = new Array(1,2,3,4,5,6,7,8,9,10); myVar = 4; addEventListener(Event.ENTER_FRAME, traceNumEnterFrame); } private function traceNumEnterFrame(event:Event) { trace(myArray[myVar]); } } } Последний раз редактировалось mikhailk; 10.04.2010 в 23:43. |
|
|||||
|
В доке от адоба есть пример по программированию будильника - там про пользовательские события достаточно много написано.
ЗЫ. к своему стыду так и не могу найти время чтоб все-таки изучить эту тему. Чувствую что придется изучать по ходу выполнения очередного проекта, когда припечет ![]()
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
gait, а что на самом деле надо-то?
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
может и так
![]() но вообще-то, если что-то в AS3 приходится делать "через голову", то скорее всего не надо этого делать. ![]() |
|
|||||
|
Регистрация: Mar 2010
Адрес: Russian Federation
Сообщений: 59
|
н-да. обнаружились глобальные пробелы в знании и понимании as3
. может быть мне и нужен LOLEvent, но я почти ничего не понимаю, что там происходит (зачем создаётся public static const LOL, для чего нужна функция override, ну и много чего еще, выходящее за рамки этой темы). думал, что может быть есть простое решение (типа addEventListener(Event.ENTER_FRAME, traceNumEnterFrame(myVar)) , но всё оказалось значительно сложнее ) короче, пошёл читать форум и доки, а то будет слишком много тупых вопросов. Спасибо за наводки TanaTiX (пример по программированию будильника), MrPoma (за http://www.flasher.ru/forum/showthread.php?t=136030).Последний раз редактировалось gait; 11.04.2010 в 11:34. |
|
|||||
|
блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
|
Public static const нужен для того, чтобы сделать код интуитивно более понятным
например вместо MouseEvent.CLICK можно использовать просто "click" но это может быть не очень понятно поэтому принято использовать константы. public мы определяем потому, что это событие должно быть доступно из вне. Теперь, как все собрать воедино: Расширяем класс event Своим Классом Определяем public переменную Не забываем про функцию clone Далее все просто 1. 1.регистрируем листенер, пишем константу того класса которая диспечеризирует наше событие 2. В приемнике события указывает тип принимаемого события (в данном случае пользовательского) 3. диспетчеризируем пользовательское событие согласно внутренней логике |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:20. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| anonimous function , вложенность |
|
|