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

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

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

Регистрация: May 2010
Адрес: Киев
Сообщений: 62
По умолчанию При создании экземпляра пользовательского класса возникает ошибка

Здравствуйте!
Помогите в проблеме. Есть два класса первый MyRectangle создает прямоугольник и заставляет его двигаться. Как только прямоугольник доходит границы окна приложения он начинает двигаться в другую сторону.

Код AS3:
package main {
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
 
	public class MyRectangle extends Sprite{
		var Rect:Shape=new Shape();		
		private var HMove:Boolean=true;			//Переменные, которые определяют направление
		private var VMove:Boolean=true;			//по горизонтали или вертикали
		private var speed:Number=10;
 
		public function MyRectangle() {
 
			drawRectangle(0xFF9900);
			addChild(Rect);
 
			addEventListener(Event.ENTER_FRAME,frameListener);
 
 
			function frameListener(e:Event):void{
 
				//Перемещение вправо
				if(HMove==true){
					trace("X: "+Rect.x);
					if(Rect.x<=stage.stageWidth-stage.width){
						Rect.x+=speed;
						//e.updateAfterEvent();
					}else{
						HMove=false;
					}
				}
 
				//Перемещение влево
				if(HMove==false){
					trace("X: "+Rect.x);
					if(Rect.x>stage.x){
						Rect.x-=speed;
					}else{
						HMove=true;
					}
				}
 
				//Перемещение вверх
				if(VMove==true){
					trace("Y: "+Rect.y);
					if(Rect.y<=stage.stageHeight-stage.height){
						Rect.y+=speed;
						//e.updateAfterEvent();
					}else{
						VMove=false;
					}
				}
 
				//Перемещение вниз
				if(VMove==false){
					trace("Y: "+Rect.y);
					if(Rect.y>stage.x){
						Rect.y-=speed;
					}else{
						VMove=true;
					}
				}				
			}
 
			//Ф-ция рисует прямоугольник
			function drawRectangle(color:Number):void{
				Rect.graphics.lineStyle(1);
				Rect.graphics.beginFill(color,1);
				Rect.graphics.drawRect(0,0,75,40);
 
			}
 
		}
	}
}
Второй класс Brush объявляет переменную figura1.
Код AS3:
package main  {
	import flash.display.*;	
	import main.MyRectangle;
 
 
	public class Brush extends Sprite{
		public var figura1:MyRectangle;
		public function Brush() {
			figura1=new MyRectangle();		
		}
	}	
}
Когда пытаюсь в переменную записать экземпляр класса MyRectangle, происходит ошибка

Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at Function/<anonymous>()
Помогите разобраться где я не прав.

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

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

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


 


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


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