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

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

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

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

Самые простые действия, делавшиеся в Макромедии на раз-два, в Adobe вызывают неодолимый геморрой. Как обратиться к кнопке, которая находится внутри мовиклипа? Весь инет облазил, нигде нет внятного описания этого процесса. Самое элементарное:

Код AS3:
mcp.bu.addEventListener(MouseEvent.CLICK, bdown); //mcp - мувиклип, bu - кнопка
 
function bdown(event:Event):void
{
}
Как ни менял код, кроме ошибок самого разнообразного свойства ничего не выдает - тип не найден, неопределенный метод, "TypeError: Error #1010: Термин не определен и не имеет свойств" и тд


Последний раз редактировалось mrEasyskanker; 14.11.2012 в 15:11.
Старый 14.11.2012, 14:47
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 2  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
У нас принято оформлять код тегами [as3] (кнопочка в визуальном редакторе)
Оформите пожалуйста.

По теме:
вы наверное забыли указать импорты.
Ну и не надо писать в кадрах и вообще писать код во flash IDE.
Для этого есть специальные инструменты.
__________________
Отряд Котовскага

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

Регистрация: Nov 2012
Сообщений: 4
Код AS3:
var mcp:mc = new mc();
var bu:b = new b();
mcp.bu.addEventListener(MouseEvent.CLICK, bdown);
 
function bdown(event:Event):void
{
}
выдает "TypeError: Error #1010: Термин не определен и не имеет свойств. at _fla::MainTimeline/frame1()"
Мувиклип и кнопка в нем изначально находятся во фрэйме.

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ну так написано же, строка 2.

Что вот это?
Код AS3:
var bu:b = new b();
Добавлено через 2 минуты
Код AS3:
var mcp:mc = new mc();
var bu:bu = new bu();
mcp.addChild(bu);
mcp.bu.addEventListener(MouseEvent.CLICK, bdown);
 
function bdown(event:Event):void
{
trace('Hello');
}
__________________
Дети не должны знать о своих родителях

Старый 14.11.2012, 15:36
mrEasyskanker вне форума Посмотреть профиль Отправить личное сообщение для mrEasyskanker Найти все сообщения от mrEasyskanker
  № 5  
Ответить с цитированием
mrEasyskanker

Регистрация: Nov 2012
Сообщений: 4
опять
TypeError: Error #1010: Термин не определен и не имеет свойств.
at _fla::MainTimeline/frame1()
Код AS3:
var mcp:mc = new mc();
var bu:b = new b();
addChild(mcp);
mcp.bu.addEventListener(MouseEvent.CLICK, bdown);
 
function bdown(event:Event):void
{
	trace('Hello');
}
кнопка b внутри мувиклипа mc, объявляются как bu и mcp. Галочку "экспорт в Action Script" ставил на обоих

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Если вы уже разместили кнопку внутри клипа, то не нужно писать new. new b(); - Создает НОВУЮ кнопку. У вас кнопка уже есть, значит нужно просто обратиться к ней:
Код AS3:
import flash.events.MouseEvent;
 
mcp.bu.addEventListener(MouseEvent.CLICK, bdown);
 
function bdown(event:MouseEvent):void
{
	trace('Hello');
}
  1. Не забудьте прописать импорт необходимого типа события.
  2. Функций приёмнику должен быть указан такой-же тип события, на который она подписана: MouseEvent
__________________
Дети не должны знать о своих родителях

Старый 14.11.2012, 19:42
mrEasyskanker вне форума Посмотреть профиль Отправить личное сообщение для mrEasyskanker Найти все сообщения от mrEasyskanker
  № 7  
Ответить с цитированием
mrEasyskanker

Регистрация: Nov 2012
Сообщений: 4
Спасибо!


Последний раз редактировалось mrEasyskanker; 14.11.2012 в 19:53.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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