キーボードで操作するロケット
キーボードの矢印キーを押すことによってロケットが旋回や加速をするというものです
解説はつづきから
新規ファイル作成
ステージ設定はサイズを400×300、フレームレートを30に
まずは背景を設置
新規レイヤーを追加し、ロケットを描く
ムービークリップシンボルに変換し、インスタンス名をrocketに
新規レイヤー追加し、ActionScriptを記述
//キーを押してるかどうかを定義する変数 //初期状態は押してない var leftArrow:Boolean = false; var rightArrow:Boolean = false; var upArrow:Boolean = false; //ロケットの旋回速度 var rotationSpeed:Number = 10; //ロケット加速度 var acceleration:Number = 0.2; //X方向とY方向の速度の初期設定 var xSpeed:Number = 0; var ySpeed:Number = 0; addEventListener(Event.ENTER_FRAME,moveRocket); //ロケット動きの設定 function moveRocket(e:Event):void { //ロケットの旋回の動きの設定 //右矢印キーを押したとき時計回りに if (rightArrow) { rocket.rotation += rotationSpeed; } //左矢印キーを押したとき反時計回りに if (leftArrow) { rocket.rotation -= rotationSpeed; } //上矢印キーを押したときロケットの向きによって //X方向、Y方向の速度を増加 if (upArrow) { xSpeed += Math.cos(Math.PI*rocket.rotation/180)*acceleration; ySpeed += Math.sin(Math.PI*rocket.rotation/180)*acceleration; } //ロケットの移動 rocket.x += xSpeed; rocket.y += ySpeed; //ロケットがステージ外に出たときの設定 if (rocket.x > stage.stageWidth) { rocket.x = 0; } if (rocket.x < 0) { rocket.x = stage.stageWidth; } if (rocket.y > stage.stageHeight) { rocket.y = 0; } if (rocket.y < 0) { rocket.y = stage.stageHeight; } } //キーが押されたときの設定 stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler); function keyDownHandler(e:KeyboardEvent):void { //左矢印キーが押されたらtrueにして押されている状態に if (e.keyCode == Keyboard.LEFT) { leftArrow = true; //右矢印キーが押されたらtrueにして押されている状態に } else if (e.keyCode == Keyboard.RIGHT) { rightArrow = true; //上矢印キーが押されたらtrueにして押されている状態に } else if (e.keyCode == Keyboard.UP) { upArrow = true; } } //キーを離したときの設定 stage.addEventListener(KeyboardEvent.KEY_UP,keyUpHandler); function keyUpHandler(e:KeyboardEvent):void { //左矢印キーを離したらfalseにして押されていない状態に if (e.keyCode == Keyboard.LEFT) { leftArrow = false; //右矢印キーを離したらfalseにして押されていない状態に } else if (e.keyCode == Keyboard.RIGHT) { rightArrow = false; //上矢印キーを離したらfalseにして押されていない状態に } else if (e.keyCode == Keyboard.UP) { upArrow = false; } }
これでムービープレビューすると以下のようになってるかと思います
以上、キーボードで操作するロケットの作り方でした