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

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

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

Регистрация: Jul 2007
Сообщений: 306
Cool duplicate MovieClip

Код:
function thumbnails_fn_r(kr) {
	r_menu.createEmptyMovieClip("t"+kr, r_menu.getNextHighestDepth());
	tlistener_r = new Object();
	tlistener_r.onLoadInit = function(target_mc_r) {
		if ((kr%2)!=0) {
		target_mc_r._y = hit_top._y+(128-60)*(kr-1);
		target_mc_r._x = 140;
		} else {
			target_mc_r._y = hit_top._y+(128-60)*kr;
		}
		target_mc_r._xscale = target_mc_r._yscale = 50;
		target_mc_r.pictureValue_r = kr;
		
		target_mc_r.onRollOver = function() {
			//trace(this);
			this._alpha = 50;
			//if (_root.flagPress == 0)
			thumbNailScroller_r();
		};
		target_mc_r.onRollOut = function() {
			this._alpha = 100;
		};
		
		target_mc_r.onPress = processPressClip;
	};
	image_mcl_r = new MovieClipLoader();
	image_mcl_r.addListener(tlistener_r);
	image_mcl_r.loadClip(thumbnails_r[kr], "r_menu.t"+kr);
}

var currentTarget:MovieClip;

function dup(m_mc:MovieClip)
{ 
trace(m_mc); // _level0.r_menu.t0
	var nextDepth:Number = r_menu.getNextHighestDepth();
	m_mc.duplicateMovieClip("f_mc"+nextDepth, nextDepth);
	
	var duppedClip:MovieClip = r_menu["f_mc"+nextDepth];
	trace(duppedClip); //undefined
	currentTarget = duppedClip;
	
	duppedClip.onPress = processPressClip;
	duppedClip.onRelease = processReleaseClip;
	
	duppedClip.startDrag();
}

this.onMouseUp = function()
{
	if(currentTarget != null){
	removeMovieClip(currentTarget);
	currentTarget.stopDrag();}
	currentTarget = null;
}

function processReleaseClip()
{
	this.stopDrag();	
}

function processPressClip()
{
	trace(this); //_level0.r_menu.t0
	this._parent._parent.dup(this);
}
Почему не дублируется мувик?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Проверь, что у тебя возвращает эта стока
Код:
m_mc.duplicateMovieClip("f_mc"+nextDepth, nextDepth);
измени её на,
Код:
trace(m_mc.duplicateMovieClip("f_mc"+nextDepth, nextDepth));
свиду все нормально, возможно ты в этом месте неправильный путь указываешь:
Код:
var duppedClip:MovieClip = r_menu["f_mc"+nextDepth];

Старый 22.08.2007, 10:19
telit вне форума Посмотреть профиль Отправить личное сообщение для telit Найти все сообщения от telit
  № 3  
Ответить с цитированием
telit
 
Аватар для telit

Регистрация: Jul 2007
Сообщений: 306
trace(m_mc.duplicateMovieClip("f_mc"+nextDepth, nextDepth)); //undefined

Старый 22.08.2007, 10:39
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 4  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
кажеться, не хватает пути исходного клипа.
Код:
m_mc.duplicateMovieClip("исходный клип","f_mc"+nextDepth, nextDepth);

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

Регистрация: Jul 2007
Сообщений: 306
m_mc.duplicateMovieClip("исходный клип","f_mc"+nextDepth, nextDepth);
Так писать нельзя!!!
можно так:
duplicateMovieClip(m_mc,"f_mc"+nextDepth, nextDepth);
но от этого ничего не изменится!!!

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
to Fr@ddy
Если ты используешь функцию duplicateMovieClip, то тогда нужен этот параметр, а если метод, то нет.

Старый 22.08.2007, 10:54
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 7  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
в кавычки я поместил только потому что у меня там текст был, для примера. почему не изменяеться, не знаю, но путь к исходному клипу должен быть в любом случае, а что тогда дублируем-то?

Цитата:
Сообщение от udaaff
Если ты используешь функцию duplicateMovieClip, то тогда нужен этот параметр, а если метод, то нет.
теперь ясно.


Последний раз редактировалось Fr@ddy; 22.08.2007 в 10:57.
Старый 22.08.2007, 10:58
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
to Fr@ddy
В данном случае используется метод duplicateMovieClip, и соответсветнно дублируется мувиклип, который его вызывает.

-- ActionScript classes > MovieClip > duplicateMovieClip (MovieClip.duplicateMovieClip method)
-- ActionScript language elements > Global Functions > duplicateMovieClip function


Последний раз редактировалось udaaff; 22.08.2007 в 11:00.
Старый 22.08.2007, 11:05
telit вне форума Посмотреть профиль Отправить личное сообщение для telit Найти все сообщения от telit
  № 9  
Ответить с цитированием
telit
 
Аватар для telit

Регистрация: Jul 2007
Сообщений: 306
Кто-то может объяснить в чем причина? Почему duplicateMovieClip не работает?

Старый 22.08.2007, 11:07
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 10  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
2udaaff, да понял, понял =)
просто забыл что дупликейт можно и как метод использовать.

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

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

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


 


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


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