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

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

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

Регистрация: May 2009
Сообщений: 17
По умолчанию Автоматическое создание переменной и загрузка внешних изображений

Есть пара вопросов по AS3:

1. Допустим есть переменная foo:String, значение которой динамическое, и нужно автоматически создать переменную с названием содержания foo, т.е. если foo = "bar", то как автоматом сделать переменную bar? В php это просто:
PHP код:
var $foo "bar";
var $
$foo "new"
И получаем $bar = "new". А как это сделать на AS3?

2. Загружаю изображение через Loader, через addChild(image.content) оно выводится, а как его можно сместить на нужную позицию?

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
1.
для локальных переменных это как бы бессмысленно,
а динамические свойства создаются через []
Код AS3:
var obj:Object = {};
var foo:String = "bar";
obj[foo] = "new";
trace( obj["bar"]);
trace( obj[foo]);
2.
image.content.x
image.x

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

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
Ну это же свойство объекта... не рационально получается... наверное лучше Array

Старый 22.05.2009, 12:03
ZedAlert вне форума Посмотреть профиль Отправить личное сообщение для ZedAlert Найти все сообщения от ZedAlert
  № 4  
Ответить с цитированием
ZedAlert

Регистрация: May 2009
Сообщений: 17
1. Немного не то, чего я ожидал, но тоже работает, благодарю. А саму переменную bar никак не создать?

2. На content.x ругается, просто x не двигает...

Собственно я и хотел перебирая Array загрузить по очереди несколько картинок, и чтобы у каждого загрузчика было свое имя.


Последний раз редактировалось ZedAlert; 22.05.2009 в 12:12.
Старый 22.05.2009, 12:24
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
т.е. на addChild(image.content) не ругается, а на image.content.x ругается ?
нонсенс
>>Собственно я и хотел перебирая Array загрузить по очереди несколько картинок, и чтобы у каждого загрузчика было свое имя.
да не нужны им свои имена, по большому счету, положи их тоже в массив


Последний раз редактировалось silin; 22.05.2009 в 12:26.
Старый 22.05.2009, 12:33
ZedAlert вне форума Посмотреть профиль Отправить личное сообщение для ZedAlert Найти все сообщения от ZedAlert
  № 6  
Ответить с цитированием
ZedAlert

Регистрация: May 2009
Сообщений: 17
Ну вот массив:
Код AS3:
var images:Array = ["image_1", "image_2", "image_3"];
for each (var image:* in images) {
	image.load(new URLRequest("folder/" + image + ".jpg"));
}
А как потом к ним обращаться?

Старый 22.05.2009, 12:48
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 7  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
images[0], images[1]... сделайте цикл по длинне массива и введите переменную(n), которая в цикле будет прибавлять по одному и вызывайте как images[n]

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а тебя не "их", есть один лоадер, который загрузит последнюю картинку..
создай несколько Loader'ов, положи их в Array (или Dictionary), как потом обратится, думаю не вопрос

Старый 22.05.2009, 13:25
ZedAlert вне форума Посмотреть профиль Отправить личное сообщение для ZedAlert Найти все сообщения от ZedAlert
  № 9  
Ответить с цитированием
ZedAlert

Регистрация: May 2009
Сообщений: 17
Так вот мне и нужно чтобы эти Loader'ы сами создавались исходя из массива картинок.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>мне и нужно чтобы эти Loader'ы сами создавались
тебе нужно, значит тебе и создавать, а сами только кошки родятся
Код AS3:
var images:Array = ["image_1", "image_2", "image_3"];
var loaders:Array = [];
for (var i:int = 0; i < images.length; i++) 
{
	var image:String = images[i];
	var loader:Loader = new Loader();
	loader.load(new URLRequest("folder/" + image + ".jpg"));
	loaders.push(loader);
	//все, дальше лля примера только
	//положим их сразу на сцену
	loader.x = 200 * i;
	addChild(loader);
	//в name запишем что-то
	loader.name = image;
	//по клику посмотрим, что все так
	loader.addEventListener(MouseEvent.CLICK, loaderClickHandler);
}
 
function loaderClickHandler(evnt:MouseEvent):void 
{
	var loader:Loader = evnt.target as Loader;
	trace( "name : " + loader.name );
}

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

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

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


 


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


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