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

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

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

Регистрация: May 2008
Сообщений: 21
По умолчанию Проблема с кнопкой

Здравствуйте

У меня такая проблема. Есть кнопка-мувиклик, на которой висит следующий код:

Код:
_aeee.onPress=function(){
	a.removeMovieClip();
	_root.attachMovie("ae","a",0,{_x:0,_y:0});
}
При нажатии на кнопку начинает проигрываться клип (например, бежит человек). Но так получается, что мувиклип с бегущим человек появляется НАД слоем с кнопкой. Как сделать, чтобы кнопка всегда была самым верхним слоем, а человек был под ней?

Исходник прикрепил
Вложения
Тип файла: zip ura.fla.zip (6.2 Кб, 17 просмотров)


Последний раз редактировалось ilovedrew; 25.08.2010 в 01:21.
Старый 25.08.2010, 04:47
fessor вне форума Посмотреть профиль Отправить личное сообщение для fessor Найти все сообщения от fessor
  № 2  
Ответить с цитированием
fessor

Регистрация: Oct 2009
Сообщений: 101
все новые (атаченые или дублированные) символы появляются поверх старых, поэтому юзайте mc.swapDepths(newMc);

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

Регистрация: May 2008
Сообщений: 21
спасибо за помощь, хотя я не смог ею воспользоваться
у меня уже изменился сильно код, сейчас он выглядит так

Код:
_kn1.onRelease = function  (){
	if (!this.flag) {
 	attachMovie("_kn01","_kn01",getNextHighestDepth(),{_x:0, _y:0});
 	this.flag = true;
	

	
	}
		else {
  		this.flag = false;
		this.onEnterFrame = function(){
			if(_kn01._currentframe!=1){
			_kn01.prevFrame();

			}
			else{
				removeMovieClip(_kn01)
				delete this.onEnterFrame;
				}
		}
		}
}
однако я не совсем понял куда вставить вами предложенное, чтобы заработало. пока самый разумный вид такой, но все равно не работает должным образом


Код:
_kn1.onRelease = function  (){
		if (!this.flag) {
 	attachMovie("_kn01","_kn01",getNextHighestDepth(),{_x:0, _y:0});
 	this.flag = true;
	
	_kn1.onRelease = function() {
	this.swapDepths(_kn01);
	
};
	
	
	}
		else {
  		this.flag = false;
		this.onEnterFrame = function(){
			if(_kn01._currentframe!=1){
			_kn01.prevFrame();
			}
			else{
				removeMovieClip(_kn01)
				delete this.onEnterFrame;
				}

														
		}
		}
}
спасибо


Последний раз редактировалось ilovedrew; 25.08.2010 в 18:16.
Старый 26.08.2010, 01:46
fessor вне форума Посмотреть профиль Отправить личное сообщение для fessor Найти все сообщения от fessor
  № 4  
Ответить с цитированием
fessor

Регистрация: Oct 2009
Сообщений: 101
как-то так, пишу наощупь без проверки
Код AS1/AS2:
_kn1.onRelease = function  (){
		if (!this.flag) {
 	this._parent.attachMovie("_kn01","_kn01",getNextHighestDepth(),{_x:0, _y:0});
	this.swapDepths(this._parent._kn01);
 	this.flag = true;
};
нужно четко прослеживать уровни вложенности т.к. менять глубины через swapDepths у вложенных один в другой клипов нельзя -только для клипов одного уровня

Старый 26.08.2010, 01:59
ilovedrew вне форума Посмотреть профиль Отправить личное сообщение для ilovedrew Найти все сообщения от ilovedrew
  № 5  
Ответить с цитированием
ilovedrew

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

Код:
_kn1.onRelease = function  (){
	if (!this.flag) {
 	attachContainer.attachMovie("_kn01","_kn01",attachContainer.getNextHighestDepth(),{_x:0, _y:0});
 	this.flag = true;
	}
		else {
  		this.flag = false;
		this.onEnterFrame = function(){
			if(attachContainer._kn01._currentframe!=1){
			attachContainer._kn01.prevFrame();
			}
			else{
				removeMovieClip(attachContainer._kn01)
				delete this.onEnterFrame;
				}
		}
		}
}
но теперь проблема с расположением слоев - не в той последовательности выскакивают

вы говорите о уровнях вложенностях - это задается программно, или простым перемещением слоев один над другим?

Старый 27.08.2010, 12:46
fessor вне форума Посмотреть профиль Отправить личное сообщение для fessor Найти все сообщения от fessor
  № 6  
Ответить с цитированием
fessor

Регистрация: Oct 2009
Сообщений: 101
1. Если получилось это здорово
2. По расположению слоев "не в той последовательности выскакивают" это как?
клип созданный програмно размещается поверх уже существующих, клип созданный вручную можно вручную перемещать между слоями или програмно используюя swapDepths();
3. Перечитал самый первый пост и возник вопрос - может проще все слои выставить вручную и только програмно делать нужный видимым (свойство _visible)? тогда можно не заморачиваться с дублированием и расположением слоев...

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

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

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


 


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


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