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

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

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

Регистрация: May 2018
Сообщений: 27
По умолчанию Текстовой квест

В общем я набросал дерево действий и событий. Хочу сделать по нему шаблон для квеста, где варианты выбираются нажатием клавиш.
Использовал эффект печати текста их прошлого топика.

Код AS3:
stop();
var myString:String;
var myArray = [];
var delay:int = 100;
var timer1:Timer = new Timer(delay);
var way:String = "null";
 
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, on_keyDown);
timer1.addEventListener("timer", frameLooper);
 
timer1.start();
 
function frameLooper(event:TimerEvent):void
{
	if (myArray.length > 0)
	{
		answer_tf.appendText(myArray.shift());
	}
	else
	{
		timer1.stop();
	}
}
 
function on_keyDown(e:KeyboardEvent):void
{
	timer1.stop();
 
	if (e.keyCode == 32 && way == "null")
	{//space
		way = "1-0";
		trace("way="+way);
	}
	else if (e.keyCode == 49 && way == "1-0")
	{//1
		way = "1-1";
	}
	else if (e.keyCode == 50 && way == "1-0")
	{//2
		way = "1-2";
	}
	else if (e.keyCode == 51 && way == "1-0")
	{//3
		way = "1-3";
	}
	else if (e.keyCode == 52 && way == "1-0")
	{//4
		way = "1-4";
 
	}
 
	//ways
	if (way == "1-0")
	{
		delay = 20;//скорость печати
		answer_tf.text = "";
		myString = "Перед вами пещера. Слева - лес. Справа - озеро. Куда пойти?\n1. Пойти налево.\n2. Пойти направо.\n3. Пойти вперёд.\n4. Пойти назад.";
	}
	else if (way == "1-1")
	{
		delay = 20;//скорость печати
		answer_tf.text = "";
		myString = "Вы пошли налево и оказались в лесу. Куда теперь?\n1. Пойти налево.\n2. Пойти направо.\n3. Пойти вперёд.\n4. Пойти назад.";
	}
	else if (way == "1-2")
	{
		delay = 20;//скорость печати
		answer_tf.text = "";
		myString = "Вы пошли направо и пришли к озеру. Куда теперь?\n1. Пойти налево.\n2. Пойти направо.\n3. Пойти вперёд.\n4. Пойти назад.";
	}
	else if (way == "1-3")
	{
		delay = 20;//скорость печати
		answer_tf.text = "";
		myString = "Вы пошли прямо и вошли в пещеру. Куда теперь?\n1. Пойти налево.\n2. Пойти направо.\n3. Пойти вперёд.\n4. Пойти назад.";
	}
	else if (way == "1-4")
	{
		delay = 20;//скорость печати
		answer_tf.text = "";
		myString = "Вы пошли назад и вернулись домой.";
	}
 
	if (e.keyCode == 49 || e.keyCode == 50 || e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 32)
	{
		myArray = myString.split("");
		timer1.delay = delay;
		timer1.start();
	}
	trace("Код нажатой клавиши: " + e.keyCode);
 
}
Сейчас при нажатии клавиши 1, 2, 3, 4, или space текст произошедшего события почему то начинает печататься заново. А если нажать другую клавишу, то текст вовсе исчезнет. Как это исправить?

Возможно ли сделать небольшую паузу, между печатью "Вы пошли налево и оказались в лесу" и "Куда теперь?" ? Если да, то как.
И возможно ли сделать, чтобы варианты действий печатались моментально?
Миниатюры
Нажмите на изображение для увеличения
Название: storyTree2.png
Просмотров: 66
Размер:	91.5 Кб
ID:	33327  
Вложения
Тип файла: rar textQuest.rar (48.2 Кб, 27 просмотров)

Старый 03.01.2019, 23:24
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 2  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от deepNoise Посмотреть сообщение
В общем я набросал дерево действий и событий. Хочу сделать по нему шаблон для квеста, где варианты выбираются нажатием клавиш.
Использовал эффект печати текста их прошлого топика.
Вы совершенно не учли замечания сделанные в прошлом топике. Три человека старались помочь. Оказалось напрасно.
Чесслово, пропало желание разбираться и помогать.
Тут два варианта:
- учить АС3 и обращаться с конкретным вопросом и кодом, а не давать криво работающий код с одними и теми же ошибками на исправление;
- обратится в раздел вакансии.

Старый 04.01.2019, 06:26
deepNoise вне форума Посмотреть профиль Отправить личное сообщение для deepNoise Найти все сообщения от deepNoise
  № 3  
Ответить с цитированием
deepNoise

Регистрация: May 2018
Сообщений: 27
Понял свою ошибку, попробую разобраться с последним предложенным вариантом кода из прошлой темы.
А эту тему удалю. Ну или вы удалите, если модератор)

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

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

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


 


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


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