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

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

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

Регистрация: Oct 2004
Сообщений: 141
По умолчанию Строки в стринге!

Пытается сделатся вывод сообщений aka ConterStrike.
То есть в текстовое multiline поле выводятся сообщения, а потом они должны сдвигатся построчно. Верхняя (или нижняя) строчка при этом исчезают. Как в multiline поле вычленить строку? Можно сдвигать скроллом, но надо чтобы строки реально удалялись. Допоможите плиз.

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
Код в 1 фрэйме;
Код:
_global.i = 1;
_global.j = 0;
_root.add_text = function(newText){
	for(k=1; k<=i; k++){
		_root["tf"+k]._y-=20;
	}
	this.createTextField("tf"+i, i, 0, 380, 550, 20);
	_root["tf"+i].text=newText;
	_global.i++;
}
_root.onEnterFrame = function(){
	if(Math.floor(j/50)<i-1){
		_global.j++;
		_root["tf"+Math.floor(j/50)].removeTextField();
	}
}
Код на кнопке
Код:
on(press, keyPress "<Enter>"){
	add_text(input_text.text);
}
на сцену вешаешь input TextField с InstanceName "input_text"

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
По умолчанию Вот

исходник вообщем
Вложения
Тип файла: zip Untitled-1.zip (4.7 Кб, 13 просмотров)

Старый 30.01.2006, 17:49
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Как в multiline поле вычленить строку?
вариант:
создаем временный текстфилд с autoSize=true и по нему смотрим сколько слов из основного текстфилда влезет по ширине, ну и удалим..
Код:
this.createTextField('_txt',0,0,0,180,140);
_txt.border=_txt.wordWrap=true;
_txt.text='То есть в текстовое multiline поле выводятся сообщения, а потом они должны сдвигатся построчно...'
TextField.prototype.delLine=function(){
	var tmp_txt=_root.createTextField('tmp',_root.getNextHighestDepth(),0,0,0,0,0);
	tmp_txt.autoSize=true;
	var words=this.text.split(' ');
	var i=0,s=tmp_txt.text;
	while(tmp_txt._width<this._width)	{
		s=tmp_txt.text;
		tmp_txt.text+=words[i++]+' ';
		tmp_txt.setTextFormat(this.getTextFormat());
	}
	this.text=this.text.split(s).join('');
	tmp_txt.removeTextField();
}
//повесим действие на клик	
onMouseUp=function(){
	_txt.delLine();
}

Старый 30.01.2006, 18:28
Ata вне форума Посмотреть профиль Отправить личное сообщение для Ata Посетить домашнюю страницу Ata Найти все сообщения от Ata
  № 5  
Ответить с цитированием
Ata

Регистрация: Jun 2005
Адрес: KharkoFF
Сообщений: 63
Отправить сообщение для Ata с помощью ICQ
2silin
_root.getNextHighestDepth() - у тебя в примере разлелось. это я на всякий случай, чтобы не писали - "не работает"

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
silin,
надо чтобы текст появлялся снизу, и с каждой новйо строчки поднимался вверх.

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

Регистрация: Oct 2004
Сообщений: 141
Всем спасибо, решилось как всегда само,
по тику таймерА запускактся:

var indexc = chatText.indexOf("<br>");
chatText= chatText.slice(indexc+4,chatText.length);

Поле парсилось ака HTML
Просто думалось, что если в scroll есть понимание строки в текстовом поле, то может его можно как - то использовать.
Удаляет верхнее сообщение, что в принципе даже правильней чем отдельную строку.

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

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

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


 


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


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