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

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

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

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Ммм а у меня вопрос, у меня допустим код для открытия суб менюшек, то есть нажал на кнопку - менюшка выехала, нажал еще раз и она заехала, тут хорошо, но допустим мы 1 раз нажали на кнопку, менюшку выехала, а потом нажалии ну абсолютно другую кнопку в той же менюшке, субменюшка закрылась, но кнопке то присвоен флаг this.flag = !this.flag; и при повторном нажатии на нее ничего не происходит, так как происходит действие закрытия менюшки (хотя она давно закрыта). Тогда на другую кнопку вешаем код
Код AS1/AS2:
but2.onPress = function(){
	trace("сработка + закрытие всех других субменю")
	_root.but1.flag = !_root.but1.flag;
}
Но тут соответственно другой косяк, если менюшка свернута и нажать сразу на but2, а потом на but1 то менюшка опять же не выезжает. Как это пофиксить, мне кажеться что флаги тут не совсем подходят?
Код AS1/AS2:
but1.onPress = function(){
	if(!this.flag){
		trace("субменю выезжает")
		}
		else{
			trace("субменю убирается")
			}
	this.flag = !this.flag;
}
 
but2.onPress = function(){
	trace("сработка + закрытие всех других субменю")
	_root.but1.flag = !_root.but1.flag;
}

Старый 08.12.2008, 14:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Надо перейти к глобальной модели обработки нажатий. То есть, вместо того, чтобы писать по 100 функций onPress для каждой кнопки, все onPress ссылаются на одну глобальную функцию с помощью класса Delegate который умеет передавать параметры (ссылка на нажавшую кнопку или ее id)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 08.12.2008, 14:47
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 13  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Ооооххх...О_о...что то мне страшно становится от такого кол-ва непонятного мне кода..%)
У меня всего то 3 кнопки, может можно как нить попроще юзануть св-ва кнопки допустим что то типа такого:
Код AS1/AS2:
but1.mark = 1;
 
bit2.onRelease = function()  {      //  ГЛАВНАЯ 
but1.mark = 1;
}
 
but1.onRelease = function()  {
trace(but1.mark)
but1.play();
	if(but1.mark = 1)
	{
		but1.mark = 2;
	}
	else
 	{
		but1.mark = 1;
	}
Но здесь фигня выходит, после повторного нажатия на but1 сво-во mark не принмиает значение 1, а все время равно 2м(( все нажатии на but2 все ок.


Последний раз редактировалось nOobCrafter; 08.12.2008 в 14:56.
Старый 08.12.2008, 15:58
st0rk вне форума Посмотреть профиль Отправить личное сообщение для st0rk Найти все сообщения от st0rk
  № 14  
Ответить с цитированием
st0rk

Регистрация: Nov 2008
Адрес: Украина
Сообщений: 37
Отправить сообщение для st0rk с помощью ICQ
а как быть если у меня 5 кнопок и они должны нажиматься строго в последовательности (например 1,3,5,4,2,3,5,1,4 -это правильно иначе неправильно!
и нажатие на одну и туже кнопку может повторяться но они делают разные действия)??
как сделать такое?

Старый 08.12.2008, 16:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 15  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Создать массив образец. При вводе цифр, добавлять их в другой массив (со удалением лишних цифр), который сравнивать с образцом.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Цитата:
и нажатие на одну и туже кнопку может повторяться но они делают разные действия)??
Это разбиралось тут же но чуть раньше, читай тему с начала, просто назначаем флаги кнопкам.
Цитата:
а как быть если у меня 5 кнопок и они должны нажиматься строго в последовательности (например 1,3,5,4,2,3,5,1,4 -это правильно иначе неправильно!
Могу предположить что нужно при нажатии определенной кнопки добавлять ее номер в строку, а в конце сравнивать полученную строку с правильной.

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

Регистрация: Nov 2008
Адрес: Украина
Сообщений: 37
Отправить сообщение для st0rk с помощью ICQ
ничего себе... подскажите хотябы примерно как это должно выглядеть на AS, а то сижу сейчас с очень круглыми от удивления глазами...

Старый 09.12.2008, 14:27
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 18  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Всегда любил генную инженерию, хоть и говорят что это бяка, но иногда бывает прикольной, решил скрестить ужа и ежа, и в итоге получил требуемый результат малой (как мне кажеться) кровью. Итак код ф студию:
Код AS1/AS2:
var but_press1:Boolean;
but_press1 = true;
 
but2.onRelease = function()  {   
but_press1 = true;
}
 
but1.onRelease = function()  {    
 
if (but_press1)
{   
 this.flag = true;
}
else
{
 this.flag = !this.flag;
}
if(this.flag)
  {
  trace(Меню выдвинулось)
  }
  else
   {
  trace(Меню задвинулось)
  }
but_press1 = false;
}

Старый 11.12.2008, 13:31
st0rk вне форума Посмотреть профиль Отправить личное сообщение для st0rk Найти все сообщения от st0rk
  № 19  
Ответить с цитированием
st0rk

Регистрация: Nov 2008
Адрес: Украина
Сообщений: 37
Отправить сообщение для st0rk с помощью ICQ
подскажите с кнопками плз, на Вас только вся надежда, ума не приложу как это сделать....

Старый 18.12.2008, 17:15
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 20  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
ОТ блин, столкнулся с очередной пролемой. Кнопок теперь произвольное число, создаются в цикле и их имена содержатся в массиве. Как можно отследить была ли нажата именно эта кнопка. Или же надо как и говорил тов. iNils:
Цитата:
Надо перейти к глобальной модели обработки нажатий.
Просто может еще есть вариант "попроще\попонятнее" а то что в том классе и как его использовать непонял совсем.
Вложения
Тип файла: rar пример upload.rar (6.0 Кб, 83 просмотров)

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

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

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


 


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


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