Показать сообщение отдельно
Старый 10.08.2012, 22:25
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
он выдает эту ошибку не из-за graphics. С ними тут как раз все ок. А вот обращение к stage в конструкторе класса Background не допустимо. Стоит переделать так:
Код AS3:
package src.site
{
	import flash.display.Graphics;
	import flash.display.Shape;
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.Stage;
 
	public class Background extends MovieClip
	{
 
		public function Background() // убрал void. Типизировать конструктор не обязательно
		{
                                 addEventListener(Event.ADDED_TO_STAGE, init);
 
		}
                      private function init(e:Event):void {
                               var ground:Number = new Number();
			ground = stage.stageHeight; // тут уже обращаться
			drawBuilding(1);
                      }
 
		private function drawBuilding(type:Number):void // а вот тут как раз void нужен, хоть это и не вызовет ошибки
		{
			var body:Graphics = this.graphics;
			switch (type)
			{
				case 1 :
					body.clear();
					body.beginFill(0);
					body.drawRect(0,0,180,400);
					body.endFill();
			}
		}
	}
}