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

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

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

Регистрация: May 2008
Сообщений: 66
По умолчанию почему trace() не работает?

почему trace() не работает?
Код:
for (var i = 1; i<=12; i++) {
	this["mc"+i]["fon"+i].onPress = function() {
		this._parent.startDrag(false);
	};
	this["mc"+i]["fon"+i].onRelease = function() {
		stopDrag();
		trace(_parent["mc"+i]._y);
	};
}
вместо _parent писал this, одна фигня undefined.
Также на _root не реагирует, может че со счетчиком?
Если написать trace(this.mc1._y); то все работает

Старый 08.05.2008, 16:06
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Потому, что выражение ["mc"+i] - вычисляется на момент вызова, а не когда написали. А поскольку вы используется не локальный для клипа i, а его предка, то к моменту получаете 12.

Надо так
Код:
for (var i = 1; i <= 12; i++) {
	var mc:MovieClip = this["mc" + i]["fon" + i];
	mc.i = i;
	mc.onPress = function () {
		this._parent.startDrag (false);
	};
	mc.onRelease = function () {
		stopDrag ();
		trace (_parent["mc" + this.i]._y);
	};
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 08.05.2008, 16:08
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 3  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
this._parent["mc"+this.i]._y

Старый 08.05.2008, 16:13
Dear.D вне форума Посмотреть профиль Отправить личное сообщение для Dear.D Найти все сообщения от Dear.D
  № 4  
Ответить с цитированием
Dear.D

Регистрация: May 2008
Сообщений: 66
все равно undefined (оба раза)

Старый 08.05.2008, 16:41
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Ну это уже проблема в адресации
_parent указывает на ["mc" + i], а вы в нем пытаетесь его найти
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 08.05.2008, 16:49
Dear.D вне форума Посмотреть профиль Отправить личное сообщение для Dear.D Найти все сообщения от Dear.D
  № 6  
Ответить с цитированием
Dear.D

Регистрация: May 2008
Сообщений: 66
Цитата:
Сообщение от iNils Посмотреть сообщение
Ну это уже проблема в адресации
тогда почему _root не помогает, ведь он обращается с самого верха?

Старый 08.05.2008, 17:12
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я не вижу в коде рута.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 08.05.2008, 17:18
Dear.D вне форума Посмотреть профиль Отправить личное сообщение для Dear.D Найти все сообщения от Dear.D
  № 8  
Ответить с цитированием
Dear.D

Регистрация: May 2008
Сообщений: 66
Код:
for (var i = 1; i<=12; i++) {
	this["mc"+i]["fon"+i].onPress = function() {
		this._parent.startDrag(false);
	};
	this["mc"+i]["fon"+i].onRelease = function() {
		stopDrag();
		trace(_root["mc"+i]._y);
	};
	updateAfterEvent();
}

Старый 08.05.2008, 17:23
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Смотрим на синий код в сообщении номер два и применяем его к коду в сообщении номер 8.

А в чем сакральный смысл updateAfterEvent в данном коде?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 08.05.2008, 17:40
Dear.D вне форума Посмотреть профиль Отправить личное сообщение для Dear.D Найти все сообщения от Dear.D
  № 10  
Ответить с цитированием
Dear.D

Регистрация: May 2008
Сообщений: 66
получилось, только нифига не понятно (а это главное)
весь смысл в том, что после onRelease надо будет переопределить координаты клипа (клип будет останавливаться только по заданной сетке)

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

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

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


 


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


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