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

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

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

Регистрация: Nov 2008
Сообщений: 33
По умолчанию Проблема с duplicateMovieClip

Добрый день. прошу прощения за некорректное название темы (незнал как правельно обозвать)

вот в чём пролема: При дублировании сдублированый мувик неоткликается на дейтвия. Непонимаю в чем ошибка. (



Код:
 // var r:Number = 1;

mc.onPress = function():Void  {
	r++;
	duplicateMovieClip(_root.mc, ["mc"+r], r);
	trace(["mc"+r]);
	_root["mc"+r].startDrag();
};

mc.onReleaseOutside = function():Void  {
	_root["mc"+r].stopDrag();
	
};

_root["mc"+r].onPress = function() {
	
	trace("press");
	this.startDrag();

};

_root["mc"+r].onRelease = function():Void  {

	this.stopDrag();

};

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А зачем вы массив ["mc"+r] вместо имени передаете?

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

Регистрация: Nov 2008
Сообщений: 33
mc - это исходный мувик который множется при нажатии. Новому мувику назначается новое имя ["mc"+r]. И новый мувик в свою очередь тоже должен дейтвовать. А как?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
До конца не понятно, что именно нужно. Возможно, так...
Код AS1/AS2:
var r:Number = 1;
 
mc.onPress = mc_onPress;
 
function mc_onPress():Void  
{
	var duplicate:MovieClip = this.duplicateMovieClip("mc" + r, r++);
	duplicate.onPress = duplicate_onPress;
	duplicate.onMouseUp = duplicate_onMouseUp;
	duplicate.startDrag();
};
 
function duplicate_onPress():Void
{
	this.startDrag();
}
 
function duplicate_onMouseUp():Void  
{
	this.stopDrag();
}

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

Регистрация: Nov 2008
Сообщений: 33
ВСЁ ИМЕННО ТАК ! )) спасибо

Старый 18.01.2010, 17:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
udaaff, тут делегейта не хватает)

Старый 18.01.2010, 21:47
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
import mx.utils.Delegate;
 
var r:Number = 1;
 
mc.onPress = Delegate.create(this, mc_onPress);
 
function mc_onPress():Void  
{
	var duplicate:MovieClip = mc.duplicateMovieClip("mc" + r, r++);
	duplicate.onPress = Delegate.create(duplicate, duplicate_onPress);
	duplicate.onMouseUp = Delegate.create(duplicate, duplicate_onMouseUp);
	duplicate.startDrag();
};
 
function duplicate_onPress():Void
{
	this.startDrag();
}
 
function duplicate_onMouseUp():Void  
{
	this.stopDrag();
}
Сделал с делегатом, только что-то мне до конца не понятно, какие тут области видимости лучше указывать.

Старый 18.01.2010, 22:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А, да, тут делегат необязателен, да
Это ж AS1.

Старый 18.01.2010, 22:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 9  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Я так и подумал Delegate кашу не испортишь все равно

Старый 18.01.2010, 23:38
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Повеселили
__________________
hauts.ru

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

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

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


 


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


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