![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 247
|
Решил попробовать сделать игру с фильма "Трон".
Кто не смотрел или не понял о чем именно речь: 1.На поле игры существует постоянно движущий объект который оставляет за собой след. 2.Суть игры заключается в том чтоб не пересечь свой\чужой след ,также границы игры. вот код программы что я написал: package { import flash.display.*; import flash.events.*; import flash.ui.Keyboard; public class Main extends Sprite { private const m:Number = 200; private const fv:Number = 0.1; private const dv:Number = fv / 0.1; private var dr:Number = 0; private var ft:Number = 0; private var game:Boolean; private var fl:Boolean = false; private var fr:Boolean = false; private var f:Shape; public function Main() { graphics.beginFill(0x0000ff, 0.1); graphics.drawRect(0, 0, 400,400); graphics.endFill(); f = new Shape(); f.graphics.beginFill(0x805000); f.graphics.drawCircle(0, 0, 1.5); f.graphics.endFill(); f.x = m; f.y = m; addChild(f); stage.addEventListener(Event.ACTIVATE, start); } private function start(e:Event):void { stage.removeEventListener(Event.ACTIVATE, start); graphics.lineStyle(1, 0x000000, 0.5); graphics.moveTo(f.x, f.y);//начальная точка stage.addEventListener(KeyboardEvent.KEY_DOWN, kd); stage.addEventListener(KeyboardEvent.KEY_UP, ku); stage.addEventListener(Event.ENTER_FRAME, tick); } private function kd(e:KeyboardEvent):void { switch (e.keyCode) { case Keyboard.LEFT: case 'A': fl = true; break; case Keyboard.RIGHT: case 'D': fr = true; break; } } private function ku(e:KeyboardEvent):void { switch (e.keyCode) { case Keyboard.LEFT: case 'A': fl = false; break; case Keyboard.RIGHT: case 'D': fr = false; break; } } private function tick(e:Event):void { player1(); f.x = m - dr * ft ; f.y = m - dr ; //<-- что мне сюда добавить чтоб по y крутился ? dr += dv; graphics.lineTo(f.x, f.y);//"след" if (game = false) { stage.removeEventListener(Event.ENTER_FRAME, tick); stage.removeEventListener(KeyboardEvent.KEY_DOWN, kd); stage.removeEventListener(KeyboardEvent.KEY_UP, ku); fl = fr = false; } } private function player1():void { if (fl && !fr)//если влево ft += fv; else if (fr && !fl)//если вправо ft -= fv; } } } 1.Как по Y заставить крутится точку. 2.Как сделать проверку на "след" от точки. |
![]() |
Часовой пояс GMT +4, время: 06:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|