!!!ステージ作成方法及び説明 !!リンク >>{20::gr03::プレイ画面}{プレイ画面}((br)) >>{20::gr03}{3班home} !!全オブジェクトの注意点 宣言時、変数の前にvarやletがついていない変数は、グローバル変数(全プログラムから参照可能)になる。((br)) stage[], thiefArray[], policeArray[], goal,はグローバル変数。((br)) 作成したオブジェクトは、囚人以外全て、stage[]に格納すること。((br)) 囚人は格納しないよう注意。((br)) 壁の大きさは、最低40にすること。((br)) !!player let player = new Player(100, 300);((br))((br)) 与えられた座標にplayerを生成します。((br)) !!通常ブロック(動かない壁) let block01 = new Block(0, 600, 400, 40, BLOCK01_IMG);((br))((br)) 例えばこのように書くと、座標(0, 600)に、大きさ(400, 40)のブロックを生成します。((br)) BLOCK01_IMGはtextureであり、すでにロード済みの画像が入っているので、こいつを与えます。((br)) 違う画像をtextureにしたい場合は、ここを変えます。((br)) このブロックは、playerと動く壁と刑務官に対して当たり判定を持っています。((br))((br)) !!動く壁 let move01 = new MoveWall(350, 400, 40, 200, 'vertical', MOVEBLOCK01_IMG);((br))((br)) 例えばこのように書くと、座標(350, 400)に、大きさ(40, 200)の動く壁を生成します。((br)) 'vertical'という文字列を与えると、縦に動かせる壁が生成できます。((br)) 'side'という文字列を与えると、横に動かせる壁が生成できます。((br)) MOVEBLOCK01_IMGには、ロード済みの使いたい画像のリンクを与える必要があります。((br)) マウスのフリックで動かせます。((br)) 囚人以外のオブジェクトに当たり判定を持っているので、動かす先にオブジェクトがあると動かせません。((br))((br)) !!ゴール goal = new Block(1160, 400, 40, 240, GOAL_IMG);((br))((br)) 中身は通常ブロックと一緒ですが、名前をgoalにする必要があります。((br)) 囚人を全員回収できていると、接触したときクリアになります。((br)) 回収していないと何も起こりません。 !!囚人 let thief01 = new Thief(650, 174);((br)) let thief02 = new Thief(20, 100);((br)) thiefArray = [thief01, thief02];((br))((br)) 例えば、上記だと引数として与えた2つの座標に、囚人がそれぞれ配置されます。((br)) 上記のように、thiefArrayに囚人を配列として格納する必要があります。((br)) 別の場所で描かれたクラスで、thiefArrayを参照したかったのでグローバル変数にしています。((br)) goalするには、囚人を全員回収する必要があります。((br)) !!刑務官 let police01 = new Police(900, 500, 0.5, 200);((br)) let police01 = new Police(200, 300, 0.5, 200);((br)) policeArray = [police01, police02];((br))((br)) 例えば、上記だと引数として与えた2つの座標(900, 500 と 200, 300)に、刑務官がそれぞれ配置されます。((br)) 0.5のところは速度で、大きい値ほど動きが早くなります。((br)) 200のところはplayerを見つける半径で、見つけるとplayerを2倍速で追いかけます。((br)) 値を大きくすると、見つける範囲が大きくなります。((br)) ジャンプはしないし、穴にも落ちるので、クリボーとほぼ一緒です。((br)) playerは刑務官と接触してしまうとGAMEOVERになります。((br)) 上記のように、policeArrayに刑務官を配列として格納する必要があります。((br))