15
ゲゲゲゲゲゲゲゲゲゲ ゲゲゲ ゲゲ ゲゲ ゲゲ 200859 ゲゲゲゲゲ ゲゲ ゲゲゲゲ ()

ゲームプログラミング体験演習

  • Upload
    craig

  • View
    27

  • Download
    1

Embed Size (px)

DESCRIPTION

ゲームプログラミング体験演習. 2008年5月9日金 情報科学部 米元 聡(准教授). 体験演習の内容. 「シューティングゲーム」を題材に ゲームプログラミングを体験します。 「ソフトウェア演習 Ⅱ (3年前期)」 という講義で実際に利用しているものです。 「高大連携授業」にもほぼ同じ内容のものが あります 「 Java 」というプログラミング言語を用います。. ゲームの概要. 縦スクロールシューティング。 マウス(キー)で自機を操作。 弾を発射 空中用(左クリック) 地上用(右クリック) 敵は地上用と空中用に分かれます。 横座標が重なると撃ってきます。. - PowerPoint PPT Presentation

Citation preview

Page 1: ゲームプログラミング体験演習

ゲームプログラミング体験演習

2008年5月9日金情報科学部 米元 聡(准教授)

Page 2: ゲームプログラミング体験演習

体験演習の内容

• 「シューティングゲーム」を題材にゲームプログラミングを体験します。

• 「ソフトウェア演習Ⅱ(3年前期)」という講義で実際に利用しているものです。

• 「高大連携授業」にもほぼ同じ内容のものがあります

• 「 Java 」というプログラミング言語を用います。

Page 3: ゲームプログラミング体験演習

ゲームの概要

• 縦スクロールシューティング。• マウス(キー)で自機を操作。• 弾を発射

– 空中用(左クリック)– 地上用(右クリック)

• 敵は地上用と空中用に分かれます。横座標が重なると撃ってきます。

Page 4: ゲームプログラミング体験演習

手順

処理全体の流れをつかもう ステップ①: 背景に絵を追加しようステップ②: 縦スクロールの機能をつけよう ステップ③: 敵を追加してみようステップ④: 敵の数や種類を変えよう ステップ⑤: 無敵なのであたり判定を導入しよ

う ステップ⑥: 自機を好きな絵に変更しようステップ⑦: ボス戦を追加しよう

Page 5: ゲームプログラミング体験演習

最初の状態• 背景なし• 自機をマウス(キー)で操

作• 左右クリックで弾を発射

• 「 Anim2Dfr クラス」を右クリックし実行してください。

Page 6: ゲームプログラミング体験演習

処理全体の流れをつかもうゲーム、アニメーションでは1秒あたり数十回も画像を生成・表示することで動いているようにみせます。 パラパラ漫画と同じ原理です。

このシューティングゲームでは

を何度も繰り返します。 1コマにつき少しずつキャラクタが動いてきます。

// 背景表示 // 敵キャラの移動・表示 // 自機の移動・あたり判定・表示 // スコア・ライフの表示

Page 7: ゲームプログラミング体験演習

ステップ①: 背景に絵を追加しよう

// ① 追加 // 背景描画

を追加

bg.draw(g, this);

Page 8: ゲームプログラミング体験演習

ステップ②: 縦スクロールの機能をつけよう

// ② 追加 // 縦スクロール背景更新

を追加

if (bg.getPos() < GP.H * (GP.N-1) ) bg.nextPos();

Page 9: ゲームプログラミング体験演習

ステップ③: 敵を追加してみよう

// ③ 追加 // 敵キャラの移動・表示

を追加

for (int i=0; i < enemy.length; i++) { enemy[i].move(); // 移動 enemy[i].lockOn(chara.x, chara.y); // 発射した? enemy[i].draw(g, this); // 表示 }

Page 10: ゲームプログラミング体験演習

ステップ④: 敵の数や種類を変えよう

敵の追加(好きな個数で1つ以上)– 敵の種類:最大4種類まで(地上2・空中

2) – 敵の数: 好きなように設定

0,1,2,3,0,1,2,3,... の順で種類が決定される( GP クラス内)

public static final int EN = 12; // 敵キャラの総数 12 public static final int ET = 4; // 敵キャラの種類数 4

0 1

地上

32

空中

Page 11: ゲームプログラミング体験演習

ステップ⑤: 無敵なのであたり判定を導入しよう

// ⑤ 追加 // あたり判定

を追加

chara.collision(enemy); // あたり判定

Page 12: ゲームプログラミング体験演習

ステップ⑥: 自機を好きな絵に変更しよう

// ⑥ 追加 // 自機画像の変更

「 jiki0 」 を 「 jiki1 」 か 「 jiki2 」 に変更可能

合計3種類あるので好きな絵に変えてみよう。

( GP クラス内)public static final String JIKI = "img/jiki0.png"; // 自機画像

Page 13: ゲームプログラミング体験演習

ステップ⑦:ボス戦を追加しよう

• // ⑦【 追加】 // ボス戦モード • ※以下のコメント「 // 」をはずす

if (mode==1 && bg.getPos() > GP.H * (GP.N-2) ) mode = 2; // ボス戦モード

Page 14: ゲームプログラミング体験演習

完成

お疲れ様でした

キャラクタデザイン嶋村君(米元研究室)

情報科学部でプログラミングを学びませんか?

(高大連携授業もあります)

Page 15: ゲームプログラミング体験演習

• web アンケートお願いします。