Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.07.2012, 16:00
Somaha вне форума Посмотреть профиль Отправить личное сообщение для Somaha Найти все сообщения от Somaha
  № 1  
Ответить с цитированием
Somaha

Регистрация: May 2012
Сообщений: 6
По умолчанию Обращение к кнопкам внутри мувиклипа

Имеется flash-сайт. На массив из кнопок на stage нормально вешается слушатель на клик, а когда пытаешься вставить в массив кнопки внутри других мувиклипов, swf не выдает критических ошибок при компиляции, но флешка перестает работать (ошибка 1009).

Код примерно такой:

Код AS3:
import fl.controls.Button;
import fl.transitions.Tween;
import fl.transitions.easing.*;
 
var btnArray:Array = new Array();
 
btnArray.push(btn_main);
btnArray.push(btn_gallery);
btnArray.push(btn_blog);
btnArray.push(content1.page1_main.btn_mainTextNEXT); // ПРОБЛЕМНАЯ КНОПКА ВНУТРИ МУВИКЛИПА, КОТОРЫЙ В СВОЮ ОЧЕРЕДЬ НАХОДИТСЯ В ДРУГОМ МУВИКЛИПЕ
 
for (var i:Number = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, onBtn); //ВЕШАЕМ СЛУШАТЕЛЬ КЛИК НА ВСЕ КНОПКИ МАССИВА
}
 
function onBtn(e:MouseEvent):void {
switch (e.target.name) {
 
case "btn_main":
new Tween(content1, "x", Elastic.easeOut, content1.x, 1987, 1, true);
trace("ok");
break;
 
case "btn_gallery":
new Tween(content1, "x", Bounce.easeOut, content1.x, 668, 1, true);
break;
 
case "btn_blog":
new Tween(content1, "x", Bounce.easeOut, content1.x, -643, 1, true);
break;
 
case "btn_mainTextNEXT":
content1.page1_main.gotoAndPlay(22); //ПРОБЛЕМНАЯ КНОПКА
trace("ok");
break;
Если проблемной кнопке присвоить класс Мувиклип, то все работает. Но меня интересует именно Button.

Может кто уже сталкивался?

Старый 25.07.2012, 16:22
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Неплохо приводить еще и текст ошибки, помимо ее номера. По номерам их никто не помнит.
Цитата:
1009 null не имеет свойств.
В какой строчке возникает ошибка?

Старый 25.07.2012, 16:53
Somaha вне форума Посмотреть профиль Отправить личное сообщение для Somaha Найти все сообщения от Somaha
  № 3  
Ответить с цитированием
Somaha

Регистрация: May 2012
Сообщений: 6
Спасибо что отозвались!
Ошибка такая:
"TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Danya_Site_fla::MainTimeline/frame16()"

Еще заметил, что если пытаться добавить в массив кнопок мувиклип(кнопку) их других мувиклипов, которые находятся не на первых кадрах, так же возникает ошибка.
Надо ли в пути к кнопке (mc1.mc2.button) указывать на каком фрейме она находится? И как?

Старый 25.07.2012, 17:07
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Цитата:
Надо ли в пути к кнопке (mc1.mc2.button) указывать на каком фрейме она находится? И как?
Такое невозможно. Поместите все кнопки, мувиклипы и вообще всю графику в первый кадр, вынесите код в класс и по мере необходимости показывайте и скрывайте те клипы, которые нужно.

Старый 25.07.2012, 17:26
Somaha вне форума Посмотреть профиль Отправить личное сообщение для Somaha Найти все сообщения от Somaha
  № 5  
Ответить с цитированием
Somaha

Регистрация: May 2012
Сообщений: 6
То есть нет возможности разместить некоторую анимацию и контент предварительно(на кадрах) в программе flash cs4? Все надо в с помощью ac3 прописывать?

Старый 25.07.2012, 17:29
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Возможность есть. Просто такой подход чаще приводит к таким ошибкам.

Старый 25.07.2012, 17:31
Somaha вне форума Посмотреть профиль Отправить личное сообщение для Somaha Найти все сообщения от Somaha
  № 7  
Ответить с цитированием
Somaha

Регистрация: May 2012
Сообщений: 6
Все понятно. Спасибо! Буду пыхтеть дальше.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.