|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Ошибка при создании массива с объектами
Вообщем, захотелось мне изучать ac3 с нуля и подробно. Переменные и TextField усвоил хорошо, но теперь поставил задачу выучить массивы. Вроде всё норм идёт, но тут изучил новые функции и попытался их перенести в class. Много ошибок исправил а вот с этими мучаюсь.
1) F:\Flash\Flash_games\FlashArray\main.as, Line 14 1120: Access of undefined property list. 2) F:\Flash\Flash_games\FlashArray\main.as, Line 14 1120: Access of undefined property setupSquare. Вот сам код: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class main extends MovieClip { public var list:Array = [objBox1, objBox2, objBox3]; public function main() { } list.forEach(setupSquare); public function setupSquare(square:MovieClip, index:int, array:Array):void { square.addEventListener(MouseEvent.CLICK, onSquareClick); } public function onSquareClick(me:MouseEvent):void { trace(me.currentTarget.name); } } } Класс main прикреплён на сцену. ОШИБКА походу вот здесь list.forEach(setupSquare); но как исправить не знаю. |
|
|||||
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
|
|
|||||
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at main/setupSquare() at Array$/_forEach() at Array/http://adobe.com/AS3/2006/builtin::forEach() at main() |
|
|||||
Вот скрин
|
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Заполнять массив нужно в конструкторе.
package { import flash.display.MovieClip; import flash.events.MouseEvent; public class main extends MovieClip { public var list:Array; public function main() { list = [objBox1, objBox2, objBox3]; list.forEach(setupSquare); } public function setupSquare(square:MovieClip, index:int, array:Array):void { square.addEventListener(MouseEvent.CLICK, onSquareClick); } public function onSquareClick(me:MouseEvent):void { trace(me.currentTarget.name); } } } |
|
|||||
Спасибо.
|
Часовой пояс GMT +4, время: 01:49. |
|
« Предыдущая тема | Следующая тема » |
|
|