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

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

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

Регистрация: Jul 2006
Сообщений: 17
Отправить сообщение для Milohov с помощью ICQ
По умолчанию самописный текст

Господа, хэлп.
как сделать самописный текст. ну, как будто кто-то набирает на клавиатуре...
помню видел где-то тутор... ша найти не могу(((
текста дофига, посему вариант покадрово стирать по одной букве не канает...

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

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Базовый вариант:
Код:
var myLongText:String = "bla bla bla bla bla bla bla bla bla bla ";
var counter:Number = 0;
function write():Void {
	if (myLongText.charAt(counter) != "") {
		myField.text += myLongText.charAt(counter);
		counter++;
	} else {
		clearInterval($1);
	}
}
var $1 = setInterval(write, 200);
Интервал от 200 до 400 наиболее реально выглядит
Если хочется естественнее можно использовать setTimeout и ставить 200-400 по рандому

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

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Как вариант
Создаешь текстовое поле с именем "pole"
После в действиях кадра где это поле пишешь.
Код:
var tex:String = "Вот здесь пишется текст, да он и правда здесь пишется... Вы не верите?";
var mel:String = "";
var i:Number = 0;
this.onEnterFrame = function () {
if (pole.text != tex+"_") {
		mel = tex.slice(0, i)+"_";
		pole.text = mel;
		i++;
	} else {
		pole.text = pole.text.slice(0, pole.text.length-1);
		delete this.onEnterFrame; // Если хочешь чтобы в конце мигала палочка убери эту строку
	}
}

Старый 15.08.2006, 12:40
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
И еще лучше звук нажатия на клавиши добавить, и будет совсем хорошо...

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

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Ну эт легко.
Всего лишь надо вставть sound.start(); (предварительно создав) после добавления каждой буквы. Вообще будет отлично.

Старый 15.08.2006, 13:01
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Еще лучше вызывать чуть раньше, но когда пробовал это делать, выяснилось, что синхронизация ухудшается...
И еще одна поправка - онЕнтерФрейм выглядит неестественно, текст слишком быстро печатается даже на 12 кадрах в сек
Мне кажется, лучше эту функцию всетаки в интервал - так легче менять частоту появления букв...

Старый 15.08.2006, 13:03
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 7  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Я просто из забвения, никогда с интервалом не работал.

Старый 15.08.2006, 14:55
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 8  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
Цитата:
Сообщение от DarkLight
setTimeout
чёт в хелпе не видать такой функции...

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

Регистрация: Jan 2006
Адрес: ННовгород
Сообщений: 1,242
Отправить сообщение для Ekzi с помощью ICQ Отправить сообщение для Ekzi с помощью Skype™
ТОварисчи, смарите, чё я нащёл
__________________
Flash ещё не торт...


Последний раз редактировалось Ekzi; 02.09.2006 в 23:08.
Старый 15.08.2006, 15:06
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 10  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
2Ion
Это недокументированная функция, но существует давно и работает без проблем...в т ч в 9 плеере при воспроизведении файла 8 версии...как интервал, но вызов 1 раз...
Код:
function a() {
	trace("sdddd");
}
setTimeout(a, 300);
Все работает.

есть и clearTimeout - но вроде ничем не отличается от clearInterval, ASnative у них один...

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

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

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


 


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


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