![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2006
Сообщений: 43
|
Хочу сделать игру, где на игровом поле могут находиться элементы(картинки) определенных типов.
Создаю ассоциированный массив имя-[Loader]. var imageTypes:Array = new Array();
for each (var type:XML in imageTypeXML.element) {
imageTypes[String(type.attribute("name"))]=new Loader();
imageTypes[String(type.attribute("name"))].load(new URLRequest(String(type.attribute("src"))));
}
Создаю массив, состоящий из элементов класса displayElement: var displayElements:Array = new Array();
for each (var element:XML in mapXML.element) {
displayElements.push(new displayElement(
imageTypes[String(element.cell.attribute("name"))],
Number(element.cell.attribute("xc")),
Number(element.cell.attribute("yc")),
String(element.cell.attribute("href")),
String(element.cell.label),
String(element.cell.description)));
}
}
public class displayElement extends Sprite {
...
private var picture:Loader = new Loader();
public function displayElement(pict:Loader...):void {
this.piture=pict;
...
}
}
В результате каждая картинка определенного типа выводится только один раз, а текстовые метки выводятся в каждом элементе. Почему? Можно ли передавать картинки по ссылке, и позиционировать только копию? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А почему класс имеет имя, как будто это переменная или метод?
з.Ы. «trace всем поможет» © я. з.Ы.Ы. Понять что-либо в таком мега-коде сложно. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 43
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Правильный ответ: DisplayElement.
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 43
|
Фактически я создаю массив элементов класса displayElement.
блин, ну это сейчас не важно :-) Последний раз редактировалось etc; 05.06.2007 в 17:35. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Фактически нужно проверить, создается ли элемент, нормально ли попадает в массив, есть ли вообще массив. trace в руки!
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 43
|
Создаю такой код в конце:
В результате объект c именем h001 перемещается в начало координат (а не копируется!) почему? ведя я создал НОВУЮ переменную nn, скопировал туда значение imageTypes["h001"] и вывел nn на экран. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
nn замещен значением h001 из imageTypes. Создали Loader, потом ссылку на него заменяем на ссылку элемента массива. Loader будет удален сразу же GC.
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 43
|
А как скопировать Loader по ссылке, чтобы новый Loader можно было присвоить другому спрайту и вывести в другом месте (не отменяя вывод первого Loader)?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Никак. Loader есть DispayObject. Что мешает создать новый Loader и через него грузить?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|