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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2009, 02:14
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 11  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
А где вы кнопки поставили?

Старый 17.11.2009, 02:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 12  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Они там на подсвечниках, но в Layer 2, переместите повыше по слоям, если хотите, чтобы не были закрыты при редактировании. Их три штуки. Если непонятно где, включите для слоев отображение только контуров (значек-квадратик справа от замочка) и сразу увидите.
А из нижней части свечи кнопка убрана - она препятствовала нормальной работе.

Старый 17.11.2009, 02:43
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 13  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
И если определённое кол-во свеч поставлено, то просто уничтожать функцию?

Старый 17.11.2009, 02:50
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 14  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Жаль, я думал вы разобрались в коде.
Функция назначается при создании копии, "вешаясь" на эту копию:
Код AS1/AS2:
currentCandle = Candle.duplicateMovieClip('candele' + num, num);
currentCandle.onMouseMove = moveCandle;
и удаляется автоматически при нажатии на кнопку-подсвечник:
Код AS1/AS2:
for (i = 1; i <= 21; i++) {
	this['btn' + i].onPress = stopMoveCandle ;
}
........
function stopMoveCandle () {
	if(dragging && !this.ready) {
		delete currentCandle.onMouseMove ; //удаление функции при нажатии на кнопку подсвечника!
		this.ready = true ;
		dragging = false ;		
	}
}
Иначе бы все свечи продолжали бы ездить по сцене.


Последний раз редактировалось mooncar; 17.11.2009 в 02:54.
Старый 17.11.2009, 02:53
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 15  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
Нет, в этом коде я разобрался, я за другое...
Чтобы не жалась кнопка после того, как пользователь поставит на подсвечник 3 свечи, а совершалось другое.
Как двигать свечи по кнопкам, я усвоил, но этот момент остался непонятен. Пробовал через gotoAndPlay(), работает, но за мышью не перемещается.

Старый 17.11.2009, 02:59
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 16  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Зачем вам переходить на какой-то другой кадр?
Нужно исходить из количество возможных свечей. Сейчас оно не задано.
Делаем так.
Код AS1/AS2:
var total:Number = 21; //всего свечей
var count:Number = 0; //в начале не поставлено ни одной
var currentCandle:MovieClip ;
var dragging:Boolean = false ;
 
SvechaBox.onPress = function() {
	var num:Number =  count++;
	dragging = true ;
	currentCandle = Candle.duplicateMovieClip('candele' + num, num);
	currentCandle.onMouseMove = moveCandle;	
	moveCandle ();
	count++; //увеличиваем счетчик
}	
 
for (i = 1; i <= total; i++) { //вписываем вместо 21 total для удобства
	this['btn' + i].onPress = stopMoveCandle ;
}
 
function moveCandle () {
	currentCandle._x = _root._xmouse;
  	currentCandle._y = _root._ymouse;
}
 
function stopMoveCandle () {
	if(dragging && !this.ready) {
		delete currentCandle.onMouseMove ;
		this.ready = true ;
		dragging = false ;		
	}
 
	if (count == total) { //ожидаем последнюю свечу
		//что-то делаем дальше, если нужно
	}
}
При постановке последней свечи срабатывает условие count == total и производится необходимое действие по вашему сценарию...
Повторюсь - ничего специально удалять не нужно, функции движения удаляются (отключаются от текущих свече) автоматически.
Продолжайте свой сценарий изнутри указанного условия.


Последний раз редактировалось mooncar; 17.11.2009 в 03:04.
Старый 17.11.2009, 03:06
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 17  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
Всё, спасибо вам огромнейшее! Я разобрался и всё работает!

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

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

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


 


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


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