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

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

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

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
По умолчанию проверки нажатой кнопки

Есть у меня анимированые кнопки. Как осуществить проверку нажатой кнопки и, если она нажата, то повторно при нажатии ничего не делать?

Старый 17.03.2010, 19:04
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Флагами. Если нажата - переменная нажата = true

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

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
можно подробней? я пока не очень силен в AS

приложу код кнопочек

Код AS3:
menuAnima.btn_1.buttonMode = true;
menuAnima.btn_2.buttonMode = true;
 
menuAnima.btn_1.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
menuAnima.btn_1.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);
menuAnima.btn_1.addEventListener(MouseEvent.CLICK, play_1);
 
menuAnima.btn_2.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
menuAnima.btn_2.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);
menuAnima.btn_2.addEventListener(MouseEvent.CLICK, play_2);
 
function onButtonOver(e:MouseEvent):void
{
	e.currentTarget.gotoAndPlay("over");
}
 
function onButtonOut(e:MouseEvent):void
{
	e.currentTarget.gotoAndPlay("out");
}
 
 
function play_1(e:Event):void {
	menuAnima.block.play();
	1mc.play()
}
 
function play_2(e:Event):void {
	menuAnima.block.play();
	2mc.play();
 
}
 
stop();
Вот надо проверить какая кнопка нажата была последний раз. И если я нажму на нее второй раз, ничего не делать. Ждать когда будет нажата другая кнопка


Последний раз редактировалось firuz; 17.03.2010 в 21:02.
Старый 17.03.2010, 21:10
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 4  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
как- то так:
Код AS3:
var clickBtn:Boolean;
.....
function play_1(e:Event):void {
 if (clickBtn==false){
        clickBtn=true;
	menuAnima.block.play();
	1.play()}
else
{trace ("no click")}
}
 
.....
возможны ошибки.)

Старый 17.03.2010, 21:25
firuz вне форума Посмотреть профиль Отправить личное сообщение для firuz Посетить домашнюю страницу firuz Найти все сообщения от firuz
  № 5  
Ответить с цитированием
firuz
 
Аватар для firuz

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
А объявить
Код AS3:
clickBtn==false
я могу в любом удобном мне месте?

Например внутри какого-то клипа в определенном кадре просто написать clickBtn==false?

Старый 17.03.2010, 21:31
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 6  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
ну во первых тогда надо написать:
Код AS3:
public var clickBtn:Boolean;

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
да напишите себе клас с методом
Код AS3:
public static function isDown(keyCode:Int):Boolean
который будет слидить за нажатием-отжатием, что думать в удобном месте - неудобном размещать clickBnt = false?
Его правда в начале придется проинициализировать каким-нибудь дисплей-объектом, чтобы мог нажатия клавиш слушать

Аналог на haXe:Key.zip


Последний раз редактировалось expl; 17.03.2010 в 21:50.
Старый 17.03.2010, 21:47
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 8  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Цитата:
Сообщение от firuz Посмотреть сообщение

Например внутри какого-то клипа в определенном кадре просто написать
В AS3 не пишут код в кадрах. Советую прочитать книжку Action Script 3.0 для Flash(автор - Колин Мук).

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

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
ну ведь мне понадобится ее когда-то нажать еще. Вот и надо будет clickBtn обратить в false обратно? Я правильно понял?

Код AS3:
public var clickBtn:Boolean;
.....
function play_1(e:Event):void {
 if (clickBtn==false){
        clickBtn=true;
	menuAnima.block.play();
	1.play()}
else
{trace ("no click")}
}
 
.....
И для каждой кнопки эта clickBtn будет своя? Если, например, кнопок у меня 6 на самом деле

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Да, своя, поэтому придется юзать хеш:
Код AS3:
_isButtonDown = {}
...
_isButtonDown[keyKode] = true;
...
if (_isButtonDown[keyKode])
{
     ....
}
...
delete _isButtonDown[keyKode]

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

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

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


 


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


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