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

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

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

Регистрация: Apr 2009
Сообщений: 141
Question main_mc(this.parent) не работает

следующий код не работает:
Код AS3:
main_mc(this.parent).two_mc.x++;
хотя раньше ПОЧТИ подобным образом обращался из мувиклипа к функции родительского клипа

подробнее:
на сцене лежит main_mc
в нем создаются два клипа:
Код AS3:
var temp:MovieClip = new one  ;
temp.name = 'one_mc';
main_mc.addChild(temp);
main_mc.one_mc = MovieClip(main_mc.getChildByName("one_mc"));
 
var temp2:MovieClip = new two  ;
temp.name = 'two_mc';
main_mc.addChild(temp2);
main_mc.two_mc = MovieClip(main_mc.getChildByName("two_mc"));
в скрипте вызываемому при создании one_mc хочу обратится к его родителю, к main_mc
Код AS3:
if (stage)
{
	init();
}
else
{
	addEventListener(Event.ADDED_TO_STAGE,init);
}
 
function init(e:Event=null):void
{
	main_mc(this.parent).two_mc.x++;
}
пишет следующую ошибку:
1180: Call to a possibly undefined method main_mc

почему не находит не пойму
раньше как-то получалось подобное
Вложения
Тип файла: rar quest.rar (55.7 Кб, 34 просмотров)

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Я вот тоже не вижу в Вашем коде метода main_mc().
__________________
Reality.getBounds(this);

Старый 18.11.2011, 04:58
Newred вне форума Посмотреть профиль Отправить личное сообщение для Newred Посетить домашнюю страницу Newred Найти все сообщения от Newred
  № 3  
Ответить с цитированием
Newred
 
Аватар для Newred

Регистрация: May 2010
Адрес: Киев, Украина
Сообщений: 140
Записей в блоге: 2
Цитата:
хотя раньше ПОЧТИ подобным образом обращался из мувиклипа к функции родительского клипа
дикий код, покруче обфускаторов будет)

к паренту так обращаться
Код AS3:
this.parent.two_mc.x++;
встречный вопрос, а что делают эта функция ?
Код AS3:
main_mc.one_mc = MovieClip(main_mc.getChildByName("one_mc"));


Последний раз редактировалось Newred; 18.11.2011 в 07:46.
Старый 18.11.2011, 10:18
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 4  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Цитата:
встречный вопрос, а что делают эта функция ?
Что-что. Присваивает клипу самого себя.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 18.11.2011, 10:56
Agni вне форума Посмотреть профиль Отправить личное сообщение для Agni Найти все сообщения от Agni
  № 5  
Ответить с цитированием
Agni

Регистрация: Apr 2009
Сообщений: 141
Цитата:
Сообщение от Newred Посмотреть сообщение
дикий код, покруче обфускаторов будет)
к паренту так обращаться
Код AS3:
this.parent.two_mc.x++;
[/as3]
к паренту ТАК не обращаться, поскольку:
1119: Access of possibly undefined property two_mc through a reference with static type flash.displayisplayObjectContainer.

Цитата:
Сообщение от Newred Посмотреть сообщение
дикий код, покруче обфускаторов будет)
встречный вопрос, а что делают эта функция ?
Код AS3:
main_mc.one_mc = MovieClip(main_mc.getChildByName("one_mc"));
Цитата:
Сообщение от DaFive Посмотреть сообщение
Что-что. Присваивает клипу самого себя.
эта функция позволяет обращаться по имени к созданному клипу
Миниатюры
Нажмите на изображение для увеличения
Название: cod.jpg
Просмотров: 137
Размер:	204.2 Кб
ID:	27265  

Старый 18.11.2011, 11:00
Agni вне форума Посмотреть профиль Отправить личное сообщение для Agni Найти все сообщения от Agni
  № 6  
Ответить с цитированием
Agni

Регистрация: Apr 2009
Сообщений: 141
справа:
Код AS3:
			var temp:MovieClip = new one;
			temp.name = 'one_mc';
			main_mc.addChild(temp);
			//main_mc.one_mc = MovieClip(main_mc.getChildByName("one_mc"));

Старый 18.11.2011, 11:34
ProxyGreen вне форума Посмотреть профиль Отправить личное сообщение для ProxyGreen Найти все сообщения от ProxyGreen
  № 7  
Ответить с цитированием
ProxyGreen
 
Аватар для ProxyGreen

Регистрация: Jul 2011
Сообщений: 67
Код AS3:
var temp:MovieClip = new one  ;
Нет круглых скобок когда вы используете new.

Здесь объявляете temp2, но имя присваиваете temp.
Код AS3:
var temp2:MovieClip = new two  ;
temp.name = 'two_mc';
main_mc.addChild(temp2);
main_mc.two_mc = MovieClip(main_mc.getChildByName("two_mc"));
Вызываете функцию main_mc(this.parent)..., которая ни-где не определенна. И т.д. и т.п.
Баг устранит изучение мат.части имхо.

Старый 18.11.2011, 11:44
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 8  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Нет круглых скобок когда вы используете new.
Это не является ошибкой, синтаксис AS3 позволяет писать и так, предполагая что конструктор вызывается без параметров.
__________________
...вселенская грусть

Старый 18.11.2011, 12:52
Agni вне форума Посмотреть профиль Отправить личное сообщение для Agni Найти все сообщения от Agni
  № 9  
Ответить с цитированием
Agni

Регистрация: Apr 2009
Сообщений: 141
пример писал заного, чтобы не выкладывать весь проект, к сожалению, влезла ошибка с temp

main_mc это не функция, а мувиклип, лежащий на сцене

обращение вида: main_mc(this.parent) работало, когда вызывал функцию из родителя, я посчитал возможным, что также можно обратиться к мувиклипу лежащему в родителе (видимо не верно, так как в одном случае - функция - в другом объект)

решение пока такое:
(this.parent as MovieClip).two_mc.x++;

вызов функции из родителя в виде main_mc(this.parent).функция_родителя() в прикрепленном архиве
Вложения
Тип файла: rar func.rar (7.1 Кб, 24 просмотров)

Старый 18.11.2011, 13:42
smithy вне форума Посмотреть профиль Отправить личное сообщение для smithy Найти все сообщения от smithy
  № 10  
Ответить с цитированием
smithy

Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
Цитата:
Сообщение от Agni Посмотреть сообщение
(this.parent as MovieClip).two_mc.x++;
В классе MovieClip нет поля two_mc.

А что вы вообще хотите сделать?
Может быть найдется более изящное решение чем обращение к parent.

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

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

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


 


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


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