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

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

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

Регистрация: May 2010
Сообщений: 12
По умолчанию Увеличение (zoom) мувиклипа (_mc)

Добрый день
Помогите разобраться в ситуации.
Значицца есть Какойто_мувиклип с определенными кнопками в нем:
кнопки эти в примере выводят в динамиктекстфилд каждая свой текст.
Поверх этого всего есть две кнопки зума (увеличения_бтн/уменьшения_бтн) по нажатию на увеличение_бтн - естественно Какойто_мувиклип увеличивается и появляется возможность его перетаскивать, и естсественно кнопки которые внутри этого Какогото_мувиклипа не работают, когда нажимаешь кнопку уменьшить_бтн естсетвенно присходит уменьшение какогото_мувиклипа, НО!!! Возможность нажатия на кнопки внутри какогото_мувиклипа не возвращается, а его все так же можно продолжать таскать, помогите разобраться пожалуйста. Может есть какой то специальный способ типа вернуть фокус какомуто_мувиклипу или что то такое.

Вот код в первом и единственном кадре всей сцены:
Код AS1/AS2:
IntervalNumber = setInterval(checkScale, 35);
function checkScale()
{
	if (homer_mc._xscale != 100 && homer_mc._yscale != 100)
	{
		homer_mc.homer_pix_mc.onPress = function()
		{
			startDrag(this);
		};
		homer_mc.homer_pix_mc.onRelease = function()
		{
			stopDrag();
		};
	}
	else
	{
	}
};
Вот код увеличение_бтн:
Код AS1/AS2:
on(release)
{
	homer_mc._xscale += 50;
	homer_mc._yscale += 50;
}
и уменьшения_бтн:
Код AS1/AS2:
on(release)
{
	if(homer_mc._xscale <= 100 && homer_mc._yscale <= 100)
	{
 
	}
	else
	{
		homer_mc._xscale -= 50;
		homer_mc._yscale -= 50;
	}
}
Исходник прилагается
Вложения
Тип файла: rar zoom.rar (41.6 Кб, 72 просмотров)


Последний раз редактировалось selahssea; 13.05.2010 в 02:14.
Старый 13.05.2010, 13:01
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 2  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
ладно, придираться не буду... но... на кой фиг пустой else? =))
это первое, ну а второе: startDrag(this), а stopDrag() - понятное дело что перетаскиваться _mc будет и дальше =)
ну и проименуй кнопки да пропиши к ним инструкции всё в том же фрейме - так гораздо проблемней запутаться... ну и ещё порадовало очень:
Код AS1/AS2:
if(homer_mc._xscale <= 100 && homer_mc._yscale <= 100)
	{
	}
	else
	{
		homer_mc._xscale -= 50;
		homer_mc._yscale -= 50;
	}
/*А нормально то if никак не прописать, с нормальными условиями, 
что б не было необходимости создавать else? 
действие-то должно у тебя происходить только в одном случае =))*/


Последний раз редактировалось Contemplator; 13.05.2010 в 13:06.
Старый 13.05.2010, 16:10
selahssea вне форума Посмотреть профиль Отправить личное сообщение для selahssea Найти все сообщения от selahssea
  № 3  
Ответить с цитированием
selahssea

Регистрация: May 2010
Сообщений: 12
Про ИФ спасибо, ступил, исправлю. а вот про стратдраг и стопдраг я не понял. Подскажите что нужно поменять что бы не перетаскивалось

Добавлено через 22 минуты
Вот поправил код, надеюсь теперь нормально выглядит, и приятней помогать ))
Код AS1/AS2:
IntervalNumber = setInterval(checkScale, 35);
function checkScale()
{
	if (homer_mc._xscale != 100 && homer_mc._yscale != 100)
	{
		homer_mc.homer_pix_mc.onPress = function()
		{
			startDrag(this);
		};
		homer_mc.homer_pix_mc.onRelease = function()
		{
			stopDrag();
		};
		homer_mc.homer_pix_mc.onReleaseOutside = function()
		{
			stopDrag();
		};
	}
 
};
zoomIN_btn.onRelease = function()
{
	homer_mc._xscale += 50;
	homer_mc._yscale += 50;
}
zoomOUT_btn.onRelease = function()
{
	if(homer_mc._xscale > 100 && homer_mc._yscale > 100)
	{
		homer_mc._xscale -= 50;
		homer_mc._yscale -= 50;
 
	}
}


Последний раз редактировалось selahssea; 13.05.2010 в 16:34.
Старый 13.05.2010, 17:09
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 4  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
компилятор запускать в лом, если правильно помню:
Код AS1/AS2:
stopDrag (this)
=))

Старый 13.05.2010, 21:50
selahssea вне форума Посмотреть профиль Отправить личное сообщение для selahssea Найти все сообщения от selahssea
  № 5  
Ответить с цитированием
selahssea

Регистрация: May 2010
Сообщений: 12
Помните, к сожалению, не правильно, компилятор даже подсказывает, что stopDrag(); без параметров пишется, да и вопрос у меня не в этом.
Вы по-видимому решили что у меня когда отпускаешь мышь, то объект дальше продолжает таскаться за курсором - но это не так.
Мышь у меня нормально отпускает и снова потом можно схватить мувиклип. А хочу я сделать так что бы когда Мувиклип после увеличения кнопкой зума, вернули в первоначальный размер , он становился активным и те кнопки которые внутри этого мувиклипа, тоже работали, а они не работают, и мувиклип по прежнему можно взять и тащить мышкой.
Если не сложно посмотрите исходник который прикреплен к первому сообщению, и сразу поймете о чем я говорю


Последний раз редактировалось selahssea; 13.05.2010 в 21:57.
Старый 13.05.2010, 21:53
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
this.stopDrag();

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

Регистрация: May 2010
Сообщений: 12
Цитата:
Сообщение от in4core Посмотреть сообщение
this.stopDrag();
Проблема совсем не в этом

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Код AS1/AS2:
delete homer_mc.homer_pix_mc.onPress;
delete homer_mc.homer_pix_mc.onRelease;
Добавлено через 2 минуты
Кнопочные обработчики(когда они уже не нужны естественно) - нужно беспощадно удалять.
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 14.05.2010, 00:21
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 9  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Не могу открыть ваш файл из первого поста.

Старый 14.05.2010, 00:29
selahssea вне форума Посмотреть профиль Отправить личное сообщение для selahssea Найти все сообщения от selahssea
  № 10  
Ответить с цитированием
selahssea

Регистрация: May 2010
Сообщений: 12
Вот поновее файл перезалил в это сообщение.

А этот код только запретил перетаскивание, но кнопки внутри мувиклипа не активировал.
Код AS1/AS2:
		delete homer_mc.homer_pix_mc.onPress;
		delete homer_mc.homer_pix_mc.onRelease;
Вложения
Тип файла: rar zoomcs4.rar (19.9 Кб, 49 просмотров)

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

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

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


 


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


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