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

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

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

Регистрация: Aug 2009
Сообщений: 99
По умолчанию Проследите, пожалуйста, создание textField ?

Помогите, пожалуйста, разобраться.
Уже которые сутки бьюсь об лёд, запутался и ничего не соображаю.
Есть некая функция загрузки xml, в которой одновременно создаются пустые мувиклипы вида kart[1..numkart]_mc ("kart"+numkart+"_mc", например kart1_mc, kart2_mc, ... ).
В них создаются мувики image_load, в которые подгружаются картинки, пути к которым взяты из xml-списка. Далее, после подгрузки картинки, в kart[1..]_mc.image_load должно создаваться текстовое поле, в который из этого-же xml-файла подгружается описание картинки.

Загрузка xml проходит успешно - доступы к данным, чтение переменных, загрузка картинок и присвоение переменным значений "описания картинок" - тоже, трейс выводит.
Не создаются текстовые поля. Я ОДНОЗНАЧНО запутался с обращением к объектам, ткните, пожалуйста, носом - где и как мне создать текстовое поле с подгрузкой в него значения txt_url1. Просьба на всякие непонятные переменные внимания не обращать, а смотреть только ход создания мувиклипов и текстового поля. Сил моих больше нет (
Если Вы снизойдёте, и Вам всё-таки понадобится исходник - дайте, пожалуйста, знать, я выложу.

Код AS1/AS2:
numkart_tlimit = 1;
xmlgallery = new XML();            // создаём хмлгаллери
xmlgallery.ignoreWhite = true;
 
 
// ************** Начало xmlgallery.onLoad 
xmlgallery.onLoad = function (loaded)   
{
    if (loaded)                    	//если загружена - начинаем циклы загрузки картинок
    {
for (var y_i:Number = 1; y_i <= 15; y_i++) {  //15 рядов
	for (var x_i:Number = 1; x_i <= 15; x_i++) {  //по 15 картинок
		var numkart:Number = x_i + next_ryad;                     //Для индексации клипов
		trace("");
		var kart:MovieClip = createEmptyMovieClip("kart"+numkart+"_mc", numkart);
			kart._x = kart_mc_coord_x+500*shahm;
			kart._y = kart_mc_coord_y-(kart._height-1000)/2;
 
		    var image:MovieClip = kart.createEmptyMovieClip("image_load", getNextHighestDepth());
			if (numkart_tlimit > 68) {numkart_tlimit = 1;};
		var imya:String = xmlgallery.childNodes[numkart_tlimit].childNodes[0].firstChild.nodeValue;
		var kartina_mc_ldr:MovieClipLoader = new MovieClipLoader();
  		kartina_mc_ldr.addListener(vaha.kartlistener);
		kartina_mc_ldr.loadClip(imya, kart.image_load);
var img_desc:TextField = kart.image.createTextField("img_desc"+numkart, numkart, 600, 600, 200, 100);
				img_desc.border = true;
				img_desc.html = true;
				img_desc.multiline = false;
				img_desc.wordWrap = false;
			var txt_url1:String = xmlgallery.childNodes[numkart_tlimit].childNodes[1].firstChild.nodeValue;
img_desc.htmlText = txt_url1;
img_desc.text = txt_url1;
numkart_tlimit ++;
	} // конец цикла x_i
}         		//конец цикла y_i
	}  else                        // *************** ELSE загрузки хмл - "если не загружен"
		    {
 
		        trace ("xml\'field");
			}
xmlgallery.load("image_list.xml");

Старый 24.08.2009, 00:28
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Мувик image в kart вы не создавали (в приведенном коде, во всяком случае). Поэтому kart.image undefined.
Плюс
Код AS1/AS2:
var image:MovieClip = kart.createEmptyMovieClip("image_load", getNextHighestDepth());
getNextHighestDepth() нужно у kart вызывать.

Старый 24.08.2009, 00:34
mj_nooker вне форума Посмотреть профиль Отправить личное сообщение для mj_nooker Найти все сообщения от mj_nooker
  № 3  
Ответить с цитированием
mj_nooker

Регистрация: Aug 2009
Сообщений: 99
гм, сейчас разберусь

Спасибо! )

Добавлено через 20 минут
не разобрался (

udaff, не могли-бы Вы чуть-чуть поподробней объяснить?
эксперименты варьировались от выставления всех 3х создаваемых объектов (2х мувиков и 1 текстового поля) на getNextHighestDepth() до просто задания их на конкретном уровне. И никаких результатов (

Старый 24.08.2009, 01:50
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
// количество картинок, которое из xml брать надо
// допустим будет 54;
var length:Number = 54;
 
// количество столбцов, к примеру 15
var numColumns:Number = 15;
 
// вычисляем количество строк относительно количества столбцов
var numRows:Number = Math.ceil(length / numColumns);
 
// для подсчета количества созданных тайлов
var n:Number = 0;
 
for (var i:Number = 0; i < numRows; i++)
{
	for (var j:Number = 0; j < numColumns; j++)
	{
		// создаем контейнер для изображения и текстового поля и позиционируем
		var tile:MovieClip = createEmptyMovieClip("tile" + n, getNextHighestDepth());
		tile._x = j * 40;
		tile._y = i * 40;
 
		// контейнер для картинки
		var image:MovieClip = tile.createEmptyMovieClip("image", tile.getNextHighestDepth());
 
		// грузим изображение... 
 
		// текст
		var txt:TextField = tile.createTextField("txt", tile.getNextHighestDepth(), 0, 0, 0, 0);
		txt.autoSize = "left";
		txt.text = n.toString();
 
		// если количество созданных тайлов достигло общего числа изображений,
		// то останавливаем цикл.
		if (++n == length)
			break;
	}
}
В дебаггере можете глянуть, где у вас, что создалось, а что нет, и как что называется.
ctrl + shift + enter

Старый 24.08.2009, 04:24
mj_nooker вне форума Посмотреть профиль Отправить личное сообщение для mj_nooker Найти все сообщения от mj_nooker
  № 5  
Ответить с цитированием
mj_nooker

Регистрация: Aug 2009
Сообщений: 99
Весьма благодарен! Наконец-то разобрался, что где и как создавать.
Теперь в дебаггере - да, видны переменные и т.д.
но - если пишу Ваш код в новом мувиклипе - код работает.
аналогично Вашему, пишу в своём вот так:
Код AS1/AS2:
var kart:MovieClip = createEmptyMovieClip("kart"+numkart+"_mc", getNextHighestDepth());
       // позиционирую _x, _y и т.д.
var image:MovieClip = kart.createEmptyMovieClip("image", kart.getNextHighestDepth());
      //загружаю сюда loadClip (именно loadClip а не loadMovie), чтоб потом привязать листенер к лоадеру и перехватить размеры подгружаемых картинок
 //далее создаю текстфилд
var img_desc:TextField = kart.createTextField("img_desc", kart.getNextHighestDepth(), 0, 0, 100, 100);
				img_desc.border = true;
				img_desc.html = true;
				img_desc.multiline = false;
				img_desc.wordWrap = false;
				img_desc.htmlText = txt_url1;
и текста не видно, хотя в переменных дебаггера - всем тектстфилдам присвоены htmlText из xml - тоесть значения есть, а на экране нету. По нескольку раз перечитал разделы хелпа - ну ничего такого не нашёл противоречивого.
Странно. Может всё-таки я чего-то в параметрах textField'a "не то"/"недо" указал?
Пробовал ставить html = false и обращаться к img_desc.text - то-же самое - значение есть, а на экране - одни картинки, текста нет. "Опять где-то точку с запятой пропустил"? <:->

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Странно. Может всё-таки я чего-то в параметрах textField'a "не то"/"недо" указал?
Да нет, все верно. Где-то что-то в другом месте.

Старый 24.08.2009, 06:18
mj_nooker вне форума Посмотреть профиль Отправить личное сообщение для mj_nooker Найти все сообщения от mj_nooker
  № 7  
Ответить с цитированием
mj_nooker

Регистрация: Aug 2009
Сообщений: 99
гм
пожалуйста, подскажите, есть-ли наработки где ещё смотреть в таких случаях? никаких других манипуляций с данными объектами извне я не произвожу- стало-быть путаница внутри содержащего все эти картинки клипа :-\
только вот где )

Старый 24.08.2009, 07:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Выкладывай исходник тогда. Я так х.з.

Старый 24.08.2009, 12:29
mj_nooker вне форума Посмотреть профиль Отправить личное сообщение для mj_nooker Найти все сообщения от mj_nooker
  № 9  
Ответить с цитированием
mj_nooker

Регистрация: Aug 2009
Сообщений: 99
source mj_nooker.rar на FileShare.in.ua
вот
там-же - xml и css
по идее css должен подгружаться в текст - но текста пока нет )
разборки полётов - в слое AS мувиклипа vaha, остальные, думаю, не стоят внимания.

спасибо за помощь и информацию !

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Не отображается из-за маски. Тебе нужно внедрить свой шрифт в приложение.

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

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

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


 


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


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