![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Подскажите пожалуйста что это такое и как его использовать?
|
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Ну в общем то да. Просто я вообще то думала что это из AS3. Но теперь уже поняла, что это из моего класса будет. Тогда вопрос такой. Как создать метод класса? Просто было задание установить рисунок на случайной позиции на сцене. Я это сделала, а теперь нужно сделать тоже самое методом класса.
Последний раз редактировалось Tina; 05.02.2013 в 18:46. |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
да нет просто AS3 учу. Я только начинаю. И сразу извиняюсь, если кому-то вопросы покажутся тупыми.
Последний раз редактировалось Tina; 05.02.2013 в 21:24. |
|
|||||
|
.
|
В некотором виде так выглядит метод класса
|
|
|||||
package { public class RandomPositioner extends Sprite { private var _image:Bitmap = new Bitmap(new BitmapData(100, 100, 0xff0000, false)); public function RandomPositioner() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { setRandomPosition(); } private function setRandomPosition():void { if (stage == null) return; _image.x = stage.stageWidth * Math.random(); _image.y = stage.stageHeight * Math.random(); } } } |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Я наверное лучше выложу код. Может по ходу кода подскажите как это лучше сделать.
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import new_packege.Ball; public class Main extends Sprite { public var ball1:Ball; public var ball2:Ball; public function Main() { ball1 = new Ball(); ball1.x = Math.random() * (stage.stageWidth - ball1.width); ball1.y = Math.random() * (stage.stageHeight - ball1.height); addChild(ball1); ball2 = new Ball(); ball2.x = Math.random() * (stage.stageWidth - ball2.width); ball2.y = Math.random() * (stage.stageHeight - ball2.height); addChild(ball2); addEventListener(Event.ENTER_FRAME, onLoop1); addEventListener(Event.ENTER_FRAME, onLoop2); } private function onLoop1(evt:Event):void { ball1.move(ball1); } private function onLoop2(evt:Event):void { ball2.move(ball2); } } } package new_packege { import flash.display.Sprite; public class Ball extends Sprite { public var speed:int = 10; public function Ball() { graphics.beginFill(0x0000FF); graphics.drawCircle(50, 50, 50); } public function move(bl:Ball):void { bl.x += speed; if (bl.x >= stage.stageWidth - bl.width || bl.x < 0) { speed *= -1; } } } } |
|
|||||
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import new_packege.Ball; public class Main extends Sprite { public var ball1:Ball; public var ball2:Ball; public function Main() { ball1 = new Ball(); ball2 = new Ball(); setRandomPosition(); } public function setRandomPosition():void { ball1.x = Math.random() * (stage.stageWidth - ball1.width); ball1.y = Math.random() * (stage.stageHeight - ball1.height); addChild(ball1); ball2.x = Math.random() * (stage.stageWidth - ball2.width); ball2.y = Math.random() * (stage.stageHeight - ball2.height); addChild(ball2); if (!hasEventListener(Event.ENTER_FRAME)) { addEventListener(Event.ENTER_FRAME, onLoop1); // второй слушатель enterFrame тут не нужен } } private function onLoop1(evt:Event):void { ball1.move(); // не нужно ему передавать ссылку на себя, убрал ее отсюда, так как она у него и так есть ball2.move(); } } } package new_packege { import flash.display.Sprite; public class Ball extends Sprite { public var speed:int = 10; public function Ball() { graphics.beginFill(0x0000FF); graphics.drawCircle(50, 50, 50); } public function move():void { this.x += speed; if (this.x >= stage.stageWidth - this.width || this.x < 0) { speed *= -1; } } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|