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

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

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

Регистрация: Aug 2011
Сообщений: 100
По умолчанию Реализация текстового эффекта

Здравсвуйте.
Подскажите пожалуйста.
Есть код
Код AS3:
import flash.events.Event;
import flash.text.TextField;
 
var myString:String = "Hello World !!!";
var myArray:Array = myString.split("");
addEventListener(Event.ENTER_FRAME, frameLooper);
 
function frameLooper(event:Event):void
{
	if(myArray.length > 0)
	{
		tf.appendText(myArray.shift());
	}else
	 {
		 removeEventListener(Event.ENTER_FRAME, frameLooper);
	 }
}
Проблема в том, что tf - это имя объекта(текстового поля), который я создаю во флеш на сцене, а как мне сделать этот эффект так, что объект создавался в as3 ?

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Создавайте, как любую другую переменную и добавляйте на сцену
Почитайте в справке про TextField и TextFormat

Старый 01.09.2011, 13:28
Isaac вне форума Посмотреть профиль Отправить личное сообщение для Isaac Найти все сообщения от Isaac
  № 3  
Ответить с цитированием
Isaac

Регистрация: Aug 2011
Сообщений: 100
Цитата:
Сообщение от illuzor Посмотреть сообщение
Создавайте, как любую другую переменную и добавляйте на сцену
Почитайте в справке про TextField и TextFormat
Я знаю про текстФиел и текст Формат
Вы имеете в виду так ?
Код AS3:
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
 
var txtFrt:TextFormat = new TextFormat();
txtFrt.font = "Arial";
txtFrt.size = 17;
txtFrt.color = 0xFFFFFF;
 
var txt:TextField = new TextField();
txt.x = txt.y = 100;
txt.text = "Hello World !!!";
txt.defaultTextFormat = txtFrt;
addChild(txt);
 
//var myString:String = "Hello World !!!";
var myArray:Array = txt.split("");
addEventListener(Event.ENTER_FRAME, frameLooper);
 
function frameLooper(event:Event):void
{
	if(myArray.length > 0)
	{
		txt.appendText(myArray.shift());
	}else
	 {
		 removeEventListener(Event.ENTER_FRAME, frameLooper);
	 }
}
Но флеш выдает ошибку
Код AS3:
ReferenceError: Error #1065: Переменная TLFTextField не определена.
Что это может значить, подск4ажите пожалуйста

Добавлено через 14 минут
Вот переписал, все работает
Код AS3:
var _letters:Array = [];
var _counter:int = 0;
 
var format : TextFormat = new TextFormat();
format.size = 18;
format.font = "Arial";
format.bold = true;
format.color = 0x00000;
 
var _textField : TextField = new TextField();
_textField.width = 400;
_textField.height = 200;
_textField.selectable = false;
_textField.wordWrap = true;
_textField.defaultTextFormat = format;
_textField.x = _textField.y =10;
addChild(_textField);
 
 
var _text = "Hello World";  
_letters = _text.split('');
 
addEventListener(Event.ENTER_FRAME, Write, false, 0, true);
 
 
 
function Write(e:Event):void
{
  if (_counter < _letters.length)
  {
         _textField.appendText(_letters[_counter]); 
         _counter++; 
  }
}
Но проблема в следующем: если мне нужно выводить несколько разных текстовых полей с определенным интервало, как мне это сделать?

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Что значит с интервалом?
Несколько текстовых полей можно создать через цикл

Старый 01.09.2011, 13:57
Isaac вне форума Посмотреть профиль Отправить личное сообщение для Isaac Найти все сообщения от Isaac
  № 5  
Ответить с цитированием
Isaac

Регистрация: Aug 2011
Сообщений: 100
Цитата:
Сообщение от illuzor Посмотреть сообщение
Что значит с интервалом?
Несколько текстовых полей можно создать через цикл
Напирмер имеем 3-4 текстовых поля(разных) и когда запустилось первое, по-его окончанию - удаляем его и запускаем второе и т.д. пока все поля не проиграют

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
можно сложить текстовые поля в массив, отслеживать, когда закончится эффект, плюсуем счётчик, удаляем текстовое поле, добавляем новое из массива.

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

Теги
textfield

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

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


 


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


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