![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2010
Адрес: Киев
Сообщений: 62
|
Здравствуйте!
Помогите в проблеме. Есть два класса первый MyRectangle создает прямоугольник и заставляет его двигаться. Как только прямоугольник доходит границы окна приложения он начинает двигаться в другую сторону. 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); } } } } package main { import flash.display.*; import main.MyRectangle; public class Brush extends Sprite{ public var figura1:MyRectangle; public function Brush() { figura1=new MyRectangle(); } } } Помогите разобраться где я не прав. |
|
|||||
|
|
|
|||||
|
Регистрация: May 2010
Адрес: Киев
Сообщений: 62
|
Не возникнет ли проблем потом когда будет вызываться функция drawRectangle()?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. Зря Вы запихали все функции в конструктор. Вложенные функции - зло.
2. Зачем вообще создавать новый Шейп где-то кроме drawRectangle() ? Держите связанный код вместе, зачем его раскидывать по всему классу. 3. Имена переменных пишутся с маленькой буквы. С большой - только названия классов и интерфейсов (ну и конструкторов соответственно)
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2010
Адрес: Киев
Сообщений: 62
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
поправьте вот так:
Возможно заработает |
|
|||||
|
Цитата:
Сделайте примерно так: |
|
|||||
|
Регистрация: May 2010
Адрес: Киев
Сообщений: 62
|
Спасибо, буду пробывать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|