Download presentation
Presentation is loading. Please wait.
1
Javaでゲーム 山本拓弥
2
Javaとは オブジェクト指向のプログラミング言語のひと つ。 さまざまなプラットフォームで実行可能なのが 特徴。
携帯電話のアプリケーションは、ほとんどこの 言語で書かれてある。 Windows Mac OS Windows Mac OS ○ × ○ ○ プログラム プログラム 他の言語 Java
3
ゲームの作成 Javaを用いて、シューティングゲームを作成した。 ソースコードは、以下のHPのものを参考にさせ ていただいた。 「 Javaでシューティングゲームを作ろう」
4
どんなゲームを作るか 目標は、単純でやりやすい ゲームを作成すること。
自分はJava初心者であるから、 複雑なゲームを目指すことは 控えた。 以後、プログラミングを行う 機会があれば、より面白みの あるゲームを作ってみたい。
5
ゲームの内容 画面の上から落ちてくる敵を、弾を発射して撃 ち落とすゲーム。 敵をひとつ撃ち落とすと、スコアが加算される 。
使用するキーは、Enterキー、方向キー、スペー スキー。
6
フィールド変数の宣言 コードは、ひとつのクラスにいくつ ものメソッドを用いて作成していっ た。 ちなみに、右はフィールド変数の一 覧である。
参考にしたソースに、プレイヤーが 上下に移動するための変数がなかっ たので、付け加えた。 Image jiki; int jx, jy;//自機座標 int bx,by;//弾座標 int ex, ey; //敵座標 int score=0; int scene; boolean keyLeft; boolean keyRight; boolean keyUp; boolean keyDown; boolean keySpace; boolean bflag; boolean keyEnter; Image bullet;//弾画像 Image teki; //敵画像 Image offImage;//仮想画面 Thread gameThread;//ゲームスレッド
7
使用したpublicメソッドなど public class Myshoot1 extends Applet implements Runnable, KeyListener { public void init() { public void start(){ Public void stop() { public void run() { public void gameTitle(){ public void gameMain(){ public void gameOver(){ public void keyPressed(KeyEvent e) { switch (e.getKeyCode()) { public void keyReleased(KeyEvent e) { public void keyTyped(KeyEvent e) {} public void paint(Graphics g) { public void update(Graphics g) {
8
自機の上下左右移動 Upキー、Downキーも最初に 宣言し、上下左右に自機を動 かせるようにした。 それによって、自由度が増し た。
しかし、敵の動きが単調なた め、それで面白みが増すこと はあまりなかった。 =自機 =敵
9
弾の発射 弾のy座標を45ずつ減らすこと で、弾を飛ばすように見せて いる。
参考にしたソースでは10ずつ であったが、スピーディにさ せるために改良した。
10
弾の発射に関するコード スペースキーを押すと、弾の 発射フラグが立っていなけれ ば、自機中央の座標に弾を設 置。その後弾の発射フラグが 真になる。 弾の発射フラグが真ならば、 弾のy座標を45ずつ減らし、0 未満となったところでフラグ を偽にする。 if (keySpace) { if(!bflag){ bx = jx + 17; by = jy; bflag = true;} } if(bflag){by-=45; if (by < 0){bflag = false;
11
ゲームオーバー ゲームオーバー画面でエン ターキーを押すと、スコアや 自機の座標を初期化してメイ ン画面に戻すコードを追加し た。
つまり、やり直しである。
12
反省 自機をさらに自由に動かせるようになったので、 今度は敵の移動パターンを増やし、さらに面白 くしていきたい。
弾の動きにスピード感がでたが、弾の連射をで きるようにして爽快感を出したかった。
13
Javaに対する理解 今回、初めてゲームのプログラミングを行って、 Javaに関する知識も増え、今までは思いもつか なかった応用の仕方も学ぶことができた。 htmlも本格的に触れたのは今回が初めてで、大 変良い経験ができたと思う。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.