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

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

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

Регистрация: Aug 2010
Сообщений: 6
По умолчанию Проблемы с отображением TextField в MovieClip

Доброго времени суток, для создания TextField в MovieClipe-е пишу следующий код:
Код AS1/AS2:
 
var str = "Hai hai";
var mc:MovieClip;
     mc = this.createEmptyMovieClip ("mc_"+i, this.getNextHighestDepth());
     mc.createTextField(tf, 1,100,100,300,100);
     mc.tf.type = "dynamic";
     mc.tf.textColor = 0x00CCFF;
     mc.tf.text = str;
  trace(mc.tf.text);
Но при тестировании вышеуказанная строка не отображается. В чем может быть проблема? Заранее спасибо.


Последний раз редактировалось Nef; 05.08.2010 в 10:24.
Старый 05.08.2010, 10:44
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Имя нужно задать, а вы этого не делаете. Кавычки поставьте:
Код AS1/AS2:
mc.createTextField('tf', 1,100,100,300,100);
PS.
i у вас еще не определено:
Код AS1/AS2:
"mc_"+i
Название мувика получится mc_undefined, но полагаю, что вы просто выдрали кусок из какого-то цикла.

Старый 05.08.2010, 10:57
Nef вне форума Посмотреть профиль Отправить личное сообщение для Nef Найти все сообщения от Nef
  № 3  
Ответить с цитированием
Nef

Регистрация: Aug 2010
Сообщений: 6
так и есть, кусок выдран из цикла, там переменная определена, а вот с именем - невнимателен. Спасибо

Старый 05.08.2010, 11:07
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Кстати, метод createTextField также возвращает ссылку на созданное поле, поэтому аккуратнее можно записать:
Код AS1/AS2:
var str:String = 'Hai hai';
var mc:MovieClip = this.createEmptyMovieClip('mc_' + i, this.getNextHighestDepth());
var tf:TextField =  mc.createTextField('tf', 1, 100, 100, 300, 100);
tf.type = 'dynamic';
tf.textColor = 0x00CCFF;
tf.text = str;

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

Регистрация: Aug 2010
Сообщений: 6
Доброго времени суток, вернемся так сказать к моим баранамХочу сделать так, чтобы подгружаемый текст по-символьно вертелся в разных направлениях. Для этого прописываю следующий код:
Код AS1/AS2:
var All:String;
var count:Number;
var mlt:LoadVars = new LoadVars();
var mc:MovieClip;
var coord:Number;
var mcs = new Array();
//Массив клипов символов
var angle_step:Number;
var middle:Number;
var j:Number, d:Number;
//----------------------------------------------------------------------------------------------------------------------------------//
Text.autoSize = true;
mlt.onLoad = function(success:Boolean) {
	if (success) {
		All = this.tf;
		//подгружаем текст из файла
//----------------------------------------------------------------------------------//
		for (var i:Number = 0; i<=All.length; i++) {
			mc = createEmptyMovieClip("mc_"+i, this.getNextHighestDepth());
			coord = mc._x+i*15;
			mc.createTextField("tf", mc.getNextHighestDepth(), coord, 100, 100, 100);
			mc.tf.type = "dynamic";
			mc.tf.textColor = 0x00CCFF;
			mc.tf.text = All.charAt(i);
			trace(mc.tf.text);
 
			mTF = new TextFormat();
			mTF.font = "Arial Cyr";
			mTF.size = 30;
			mc.tf.setTextFormat(mTF);
			mc.i = i;
 
			mc.angle = angle_step*i-360;
			d = Math.floor(Math.abs(mc.angle)/angle_step)-middle;
 
			d>0 ? null : d -= 1;
 
			mc.depth = d;
 
			mc.swapDepths(mc.depth);
 
			mcs.push(mc);
 
			mcc.push(mc.tf._rotation);
 
		}
//--------------------------------------------------------------------------------------------//
	}
};
mlt.load("info.txt");
 
function animate() {
onEnterFrame = function () {
	for (j=0; j<mcs.length; j++) {
		mc[j] = mcs[j];
		mc[j].tf._rotation = Math.random(10)*1000;
		mc[j]._x += 50;
		mc[j].tf._y += 0.55;
	}
}
setInterval(animate(),10);
};
Но при тестировании на экране ничего не отображается, Подскажите что делаю не так?Заранее спасибо

Старый 07.09.2010, 15:10
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код ваш не разбирал, в конце у вас там как-то кривенько все - функция в функции, интервальная функция непрерывно плодит функции на onEnterFrame. К тому же синтаксис интервальной функции предполагает запись подинтервальной без скобок, то есть просто указание ссылки на вызываемую функцию.
Это по коду.
И еще - чтобы динамическое текстовое поле с можно было вращать, в него нужно внедрить шрифты - нужные наборы символов и нужные гарнитуры.
В вашем случае - создаете где-нибудь за пределами видимости текстовое поле, внедряете туда нужный шрифт, а в коде пишите
Код AS1/AS2:
mc.tf.embedFonts = true ;
__________________
Идите первым!


Последний раз редактировалось mooncar; 07.09.2010 в 15:22.
Старый 06.11.2010, 14:28
sniper007 вне форума Посмотреть профиль Отправить личное сообщение для sniper007 Найти все сообщения от sniper007
  № 7  
Ответить с цитированием
sniper007

Регистрация: Jun 2010
Сообщений: 30
Столкнулся с такой проблемой:
В одном проекте вручную создаю MovieClip и внутри него программно пытаюсь вывести текст через TextField:
Код AS1/AS2:
var pole:TextField = this.createTextField('pole',this.getNextHighestDepth(),0,0,150,120);
pole.text='Отображаемый текст';
pole.type = 'dynamic';
pole.border=true;
pole.multiline=true;
pole.wordWrap=true;
pole.setTextFormat(new TextFormat('ar_font',12));
В результате ничего не отображается. НО! если создать новый проект и в него скопировать этот MovieClip, то всё сразу прекрасно работает...
В чем может быть проблема?

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
А где вы код пишите?
__________________
Идите первым!

Старый 06.11.2010, 20:34
sniper007 вне форума Посмотреть профиль Отправить личное сообщение для sniper007 Найти все сообщения от sniper007
  № 9  
Ответить с цитированием
sniper007

Регистрация: Jun 2010
Сообщений: 30
код пишу в первом кадре мувика

Старый 06.11.2010, 20:39
sestem вне форума Посмотреть профиль Отправить личное сообщение для sestem Найти все сообщения от sestem
  № 10  
Ответить с цитированием
sestem
[+1 24.11.10]
[+1 04.11.10]
 
Аватар для sestem

Регистрация: Jan 2010
Сообщений: 248
У меня сразу сработало

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

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

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


 


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


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