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

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

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

Регистрация: Aug 2009
Сообщений: 33
По умолчанию Убирание движения после нажатия на кнопку

И ещё один вопрос: как убрать движение мыши при нажатии на кнопку? так не получается:
Код AS1/AS2:
SvechaBox.onPress = function() {
    Candle._x = _root._xmouse;
    Candle._y = _root._ymouse;
	this.onMouseMove = function(){
	    Candle._x = _root._xmouse;
    	Candle._y = _root._ymouse;
	}
	dragging = true;
	if(dragging = false) {
		delete this.onMouseMove;
	}
}
btn1.onPress = function() {
	if(dragging = true) {
		dragging = false;
	    Candle._x = _root._xmouse;
	    Candle._y = _root._ymouse;
	}
}

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Ошибка синтаксиса. Условия пишутся вот так:
Код AS1/AS2:
if(dragging == false)
2. даже с учетом ошибки синтаксиса есть еще ошибка логики. Вот тут
Код AS1/AS2:
	dragging = true;
	if(dragging == false) { //исправлен синтаксис
		delete this.onMouseMove;
	}
условие dragging == false никогда не выполнится, в строке перед условием dragging всегда назначается true.


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

Регистрация: Aug 2009
Сообщений: 33
Код AS1/AS2:
SvechaBox.onPress = function() {
    Candle._x = _root._xmouse;
    Candle._y = _root._ymouse;
	this.onMouseMove = function(){
	    Candle._x = _root._xmouse;
    	Candle._y = _root._ymouse;
	}
	dragging = true;
	btn1.onPress = function() {
		if(dragging == true) {
			dragging = false;
	    	Candle._x = _root._xmouse;
	    	Candle._y = _root._ymouse;
		}
	}
	if(dragging == false) {
		delete this.onMouseMove;
	}
}
Всё равно не хочет...

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Выложите.

Старый 14.11.2009, 20:16
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 5  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
Код AS1/AS2:
if(dragging == true) {
			dragging = false;
вроде есть...

а как сделать, чтобы условие выполнялось?

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

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

Старый 14.11.2009, 20:29
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 7  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
http://slil.ru/28203841 - вот эта часовенка...

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Если для одной свечи:
Код AS1/AS2:
SvechaBox.onPress = function() {
    dragging = true ;
    moveCandle ();
   Candle.onMouseMove = moveCandle;
}	
 
function moveCandle () {
    Candle._x = _root._xmouse;
    Candle._y = _root._ymouse;
}
 
 
btn1.onPress = function() {
	if(dragging) {
		dragging = false ;
		delete Candle.onMouseMove ;
	}
}
Если для любой свечи, надо доработать.

PS. У вас в основании мувика-свечи есть невидимая кнопка - она мешает нажать на кнопку-подсвечник.
Если ее убрать, сделать несколько кнопок-подсвечников btn1, btn2 и тд. до 21, то можно реализовать алгоритм для нескольких свечей:
Код AS1/AS2:
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 ();
}	
 
for (i = 1; i <= 21; i++) {
	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 ;		
	}
}


Последний раз редактировалось mooncar; 14.11.2009 в 21:40.
Старый 16.11.2009, 20:50
tgonta вне форума Посмотреть профиль Отправить личное сообщение для tgonta Найти все сообщения от tgonta
  № 9  
Ответить с цитированием
tgonta

Регистрация: Aug 2009
Сообщений: 33
mooncar

Попробовал сделать несколько свечек и не получилось. Жму - а свечу двигают.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Посмотрите:
http://slil.ru/28213158

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

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

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


 


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


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