![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
День добрый, помогите пожалуйста.
Читал топики с подобной темой в форуме и гугле, че то не помогает. Задача добавить лисенер к массиву мувиклипов. Массив вложен в клип на стэйдже который в свою очередь маскирован. Должна получится прокрутка превьюшек фотографий, при клике на одну из которых должна подрузится большая фотка. Вопрос. Если объект в массиве один - лисенер добавляется, если больше - нет. ![]() addEventListener(Event.ENTER_FRAME,loopFunction); function loopFunction(event:Event) { simplePreviewAdd()} public function simplePreviewAdd():void { var preview:PreviewClass=new PreviewClass ; addChildAt(preview,0); previewArray.push(preview); previewArray[addedPreviewCount].addEventListener(MouseEvent.MOUSE_OVER,previewArrayMouseDown,false, 0, true); trace (" MOUSE_OVER ") addedPreviewCount++; } он возвращает : root1 - ну это ваще че то ни то. Спасибо Добавлено через 4 минуты сори, в код иф не дописал. на самом деле так: addEventListener(Event.ENTER_FRAME,loopFunction); function loopFunction(event:Event) { if (addedPreviewCount<previewArray.length) { simplePreviewAdd()}} public function simplePreviewAdd():void { var preview:PreviewClass=new PreviewClass ; addChildAt(preview,0); previewArray.push(preview); previewArray[addedPreviewCount].addEventListener(MouseEvent.MOUSE_OVER,previewArrayMouseDown,false, 0, true); trace (" MOUSE_OVER ") addedPreviewCount++; } |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Что-то как-то кривовато...
Во-первых нет "()" при создании экземпляра класса, во-вторых совершенно незачем таким образом назначать слушателей. Вот так все должно работать: В-третьих не понимаю, почему бы не добавлять превью через for(...){...}, а не событие ENTER_FRAME Последний раз редактировалось s8000_1; 01.12.2008 в 00:14. |
|
|||||
|
ветеран форума
|
s8000_1, в AS3 () при создании экземпляра писать необязательно
__________________
4am is time to rock |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Обязательно. Без вариантов. Не смотря на то, что позволяет так делать.
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Не обязательно.
AS3 это, по сути, усовершенствованный ECMA262. Привожу вырезку из спецификации по ECMA262: MemberExpression : ... new MemberExpression Arguments NewExpression : MemberExpression new NewExpression Arguments : ( ) ( ArgumentList ) LeftHandSideExpression : NewExpression CallExpression В случае использования стиля NewExpression (без скобок), не обсчитывается список параметров и вызывается конструктор по умолчанию (11.2.2 спецификации). Говорить что использовать не правильно идеологически тоже нельзя. В C++, например, много ситуаций когда НЕОБХОДИМО использовать синтаксис без скобок. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
большое спасибо, все заработало
|
|
|||||
|
Скобочки-то лучше писать...
__________________
Сам себе репортер |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Почему? Не написание скобок не может привести ни к одной ошибке (в отличие от ';'), абсолютно разрешенная запись.
|
|
|||||
|
стервочка (я мужик)
|
ZlPredator, это такая же идеологическая борьба, как писать 5 == i, а не i == 5. ошибка может подкрасться незаметно %)
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Также как не стоит писать надо всегда писать Код более читабельный |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|