1 / 15

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

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

craig
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ゲームプログラミング体験演習 2008年5月9日金 情報科学部 米元 聡(准教授)

  2. 体験演習の内容 • 「シューティングゲーム」を題材にゲームプログラミングを体験します。 • 「ソフトウェア演習Ⅱ(3年前期)」 という講義で実際に利用しているものです。 • 「高大連携授業」にもほぼ同じ内容のものがあります • 「Java」というプログラミング言語を用います。

  3. ゲームの概要 • 縦スクロールシューティング。 • マウス(キー)で自機を操作。 • 弾を発射 • 空中用(左クリック) • 地上用(右クリック) • 敵は地上用と空中用に分かれます。横座標が重なると撃ってきます。

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

  5. 最初の状態 • 背景なし • 自機をマウス(キー)で操作 • 左右クリックで弾を発射 • 「Anim2Dfrクラス」を右クリックし実行してください。

  6. 処理全体の流れをつかもう ゲーム、アニメーションでは1秒あたり数十回も画像を 生成・表示することで動いているようにみせます。 パラパラ漫画と同じ原理です。 このシューティングゲームでは を何度も繰り返します。 1コマにつき少しずつキャラクタが動いてきます。 // 背景表示 // 敵キャラの移動・表示 // 自機の移動・あたり判定・表示 // スコア・ライフの表示

  7. ステップ①: 背景に絵を追加しよう // ①追加// 背景描画 を追加 bg.draw(g, this);

  8. ステップ②: 縦スクロールの機能をつけようステップ②: 縦スクロールの機能をつけよう // ②追加// 縦スクロール背景更新 を追加 if (bg.getPos() < GP.H * (GP.N-1) ) bg.nextPos();

  9. ステップ③: 敵を追加してみよう // ③追加// 敵キャラの移動・表示 を追加 for (int i=0; i < enemy.length; i++) { enemy[i].move(); // 移動 enemy[i].lockOn(chara.x, chara.y); // 発射した? enemy[i].draw(g, this); // 表示 }

  10. 地上 空中 0 1 2 3 ステップ④: 敵の数や種類を変えよう 敵の追加(好きな個数で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

  11. ステップ⑤: 無敵なのであたり判定を導入しようステップ⑤: 無敵なのであたり判定を導入しよう // ⑤追加// あたり判定 を追加 chara.collision(enemy); // あたり判定

  12. ステップ⑥: 自機を好きな絵に変更しよう // ⑥追加// 自機画像の変更 「jiki0」 を 「jiki1」 か 「jiki2」 に変更可能 合計3種類あるので好きな絵に変えてみよう。 (GPクラス内) public static final String JIKI = "img/jiki0.png"; // 自機画像

  13. ステップ⑦:ボス戦を追加しよう • // 【⑦追加】// ボス戦モード  • ※以下のコメント「//」をはずす if (mode==1 && bg.getPos() > GP.H * (GP.N-2) ) mode = 2; // ボス戦モード

  14. 完成 お疲れ様でした キャラクタデザイン 嶋村君(米元研究室) 情報科学部でプログラミングを学びませんか? (高大連携授業もあります)

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

More Related