ゲームライブラリ構築までの道「インベーダー編」#8 : 敵キャラ行進

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

インベーダの敵キャラは極めて統制の取れた軍隊だと気がついた、下駄です。
 

今回は、敵キャラを移動させて、ゲーム感MAXな状態にしたいと思います。
 

動いている敵キャラを見ると、はやくシューティングしたくて、うずうずしてきますよね。

本日のIT謎掛け

「モーションコントロール」と、かけまして、
 

「地下水質状態の危険性」と、ときます。
 

そのココロは・・・
 

イドー(移動と井戸)の状態を管理することが大事です。

ソースコード

not canvas

解説

今回のは、敵キャラ移動用の関数をいくつか作りました。
 

関数 : invader_move
 

この関数は、敵キャラがアニメーションする時に呼び出される関数で、移動する方向や、端に行った時に、折返しをする処理をします。
 

折返しをする時に、数パターンY軸(縦)にも移動して、インベーダーが迫ってくる処理をしています。
 

関数 : invader_pos
 

たくさんいるインベーダが画面の端にいったかどうかの座標判定をする用の座標を取得しています。
 

ゲームの特性として、すべてのインベーダの座標をチェックしなければいけないので、少し無駄に感じますが、敵キャラをやっつけていって数が少なくなっていくと、処理自体が少なくなってくるので、その昔インベーダーゲームをやっていて、敵キャラが減ると、敵の動きが早くなるのは、こうした処理をして、処理スピードが上がっていたんだとなんとなく想像できました。
 

非常によく考えられたプログラムと、感動すらしますね。
 

関数 : invader_move_set
 

実際の移動処理は、この関数で行っていますが、表示をするときのためのメモリに持っている座標の値を行進しています。

Github

ソースは以下にアップしています。(ver:0.7)
 

https://github.com/yugeta/game_invader

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です