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

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

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

Регистрация: Aug 2008
Сообщений: 12
Отправить сообщение для Prinz с помощью ICQ
Question Как сделать, что бы выполнялось действие при наборе "кодового слова"

Подскажите, пожалуйста, как мне реализовать такое...

on (press, keyPress "1") {this.play();} - когда нажимаю клавишу "1" происходит выполнение действия

А как мне сделать так, что бы при вводе, скажем, слова "medved" происходил переход на заданный кадр?
__________________
http://djcentr.ru

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

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Код:
//кодовое слово
var word="medved";
//переменная для хранения набранного текста
var typed="";
onKeyDown=function(){
	// преобразовываем код нажатой кнопки в букву и добавляем к переменной
	// способ приводит к тому, что слово не чуствительно к расскладке
	typed+=String.fromCharCode(Key.getAscii());
	// Обрезаем лишнее, чтобы не хранить все в памяти
	typed=typed.substr(-word.length);
	// проверяем, набрали ли нужное слово
	if(typed.indexOf(word)!=-1){
		trace("You had typed \"medved\"!");
	}
}
Key.addListener(this);

// вообще можно было бы обрезать по таймеру, или еще как-нибудь, но общий принцип понятен

Старый 10.09.2008, 12:56
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 3  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
или по onChanged

Старый 10.09.2008, 14:10
Prinz вне форума Посмотреть профиль Отправить личное сообщение для Prinz Найти все сообщения от Prinz
  № 4  
Ответить с цитированием
Prinz

Регистрация: Aug 2008
Сообщений: 12
Отправить сообщение для Prinz с помощью ICQ
Цитата:
Сообщение от crazyone Посмотреть сообщение
Код:
//кодовое слово
var word="medved";
//переменная для хранения набранного текста
var typed="";
onKeyDown=function(){
	// преобразовываем код нажатой кнопки в букву и добавляем к переменной
	// способ приводит к тому, что слово не чуствительно к расскладке
	typed+=String.fromCharCode(Key.getAscii());
	// Обрезаем лишнее, чтобы не хранить все в памяти
	typed=typed.substr(-word.length);
	// проверяем, набрали ли нужное слово
	if(typed.indexOf(word)!=-1){
		trace("You had typed \"medved\"!");
	}
}
Key.addListener(this);

// вообще можно было бы обрезать по таймеру, или еще как-нибудь, но общий принцип понятен
Сделал, но не получается...
__________________
http://djcentr.ru

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

Регистрация: Sep 2005
Сообщений: 950
Не работает так как вы смотрите это в IDE есле же смотреть стандартным плеером то все работает, либо можно при просмотре в IDE поставить галку Disable Keybord Shortcuts в меню control.

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

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
или по onChanged
Это же не при вводе в поле, а куда угодно.

Цитата:
Сделал, но не получается...
Что вы сделали? Вставили этот код в кадр, запустили флешку и при наборе слова medved вам не трейсится "You had typed \"medved\"!"?

Не верю.

Старый 10.09.2008, 23:32
Prinz вне форума Посмотреть профиль Отправить личное сообщение для Prinz Найти все сообщения от Prinz
  № 7  
Ответить с цитированием
Prinz

Регистрация: Aug 2008
Сообщений: 12
Отправить сообщение для Prinz с помощью ICQ
Цитата:
Сообщение от lexa2000lexa Посмотреть сообщение
Не работает так как вы смотрите это в IDE есле же смотреть стандартным плеером то все работает, либо можно при просмотре в IDE поставить галку Disable Keybord Shortcuts в меню control.

Если всталаяю вместо слова "medved" 123 всё прекрасно работает, а в случаи с буквами - нет...

Disable Keybord Shortcuts в меню control...облазил всё... не нашёл..
(у меня adobe flash cs3)
__________________
http://djcentr.ru

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Disable Keybord Shortcuts в меню control...облазил всё... не нашёл..
Это не в меню Флэш, а в меню плеера, который открывается при тестировании ролика)
__________________
Reality.getBounds(this);

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

Регистрация: Aug 2008
Сообщений: 12
Отправить сообщение для Prinz с помощью ICQ
А подскажите, пожалуйста, как можно обрезать по таймеру?
скажем в течении 5 сек, а иначе придётся набирать с начала.
__________________
http://djcentr.ru

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Допустим завести ещё один массив со временем каждого нажатия. То есть предварительно завести переменную time_array и в onKeyDown дописать что-то вроде
Код:
time_array.push(getTimer());
Потом надо следить чтобы длина time_array не превышала длины секретного слова. Например, можно делать time_array.shift() если длина превысилась. Потом
заменить условие на что-то вроде

Код:
if(typed.indexOf(word)!=-1 && (time_array[time_array.length-1]-time_array[0] <= 5000))
5000 - это пять секунд разницы
Могут быть ошибки, но смысл должен быть понятен
__________________
while(1) {}


Последний раз редактировалось Division; 11.09.2008 в 17:40.
Создать новую тему Ответ Часовой пояс GMT +4, время: 08:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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