Показать сообщение отдельно
Старый 18.02.2010, 01:32
sltt вне форума Посмотреть профиль Отправить личное сообщение для sltt Найти все сообщения от sltt
  № 6  
Ответить с цитированием
sltt

Регистрация: Jan 2010
Сообщений: 26
Это продолжение :-|
Я сначала тоже пробовал static но выбивало ошибку, теперь я понял из-за чего.
Проблема вот в чем получилась


Есть класс

Код AS3:
craftProperties.as
package {
	public class craftProperties{
 
		public var craftID:Number;
		public var craftColor:Number;
		public var craftType:Number;
 
	}
 
}

10 таких классов нужно сохранить в массив который находится в классе myglobal

Код AS3:
myglobal.as
package {
 
	import myclass.craftProperties;
 
	public class myglobal {
 
		public static const ww =700;
		public static const hh =700;
 
		public static var allCraftProperties:Array;/////<<<<<<<<<<
 
 
			public static function initArrays()
			{
				allCraftProperties=new Array(10);
			}
 
			public static function addCraftProp(crfprop:craftProperties)
			{
				allCraftProperties.push(crfprop);
			}
	}
}

Делаю я так:
Код AS3:
	import myglobal;
	import craftProperties;
 
	myglobal.initArrays();			
 
	for (var i=0; i < 10 i++) {
		var crfpropEnemy:craftProperties=new craftProperties();
 
		crfpropEnemy.craftID=i;
		crfpropEnemy.craftType=1;
		crfpropEnemy.craftColor=0xFFFFFF;
 
		myglobal.addCraftProp(crfpropEnemy);
	}

А потом пытаюсь прочитать массив из 4-го класса

Код AS3:
craft.as
package {
 
	import flash.display.Sprite;
	import myclass.myglobal;
 
 
	public class craft extends Sprite {
 
 
		public function craft() {
 
			trace(myglobal.allCraftProperties[1].craftType);
 
		}
	}
}
На что получаю
Код AS1/AS2:
	TypeError: Error #1010: Термин не определен и не имеет свойств.
	at сraft()
Что я неправильно сделал?


Последний раз редактировалось sltt; 19.02.2010 в 04:46.