2004年度ゲームプログラミング ゲームプログラミング 第2回:画面上にボールを描こう! (プログラム環境の導入、静止画) 2004年度ゲームプログラミング 開発環境の導入 以下4ステップでラップトップがプログラム開発 マシンに 1、JAVAコンパイラの導入 2、携帯電話用拡張JAVAの導入 3、電話会社のツールを導入 4、画像、テストプログラムをセット 2004年度ゲームプログラミング 1、コンパイラの導入 プログラミング言語は、機械にさせる処 理を 人間が理解しやすいように記述している。 それを機械が実行しやすい形(機械語) に 変換するのがコンパイラの役目 2004年度ゲームプログラミング 2、携帯電話用JAVA導入 コンパイラだけではWEBブラウザで動く アプリケーションまでしか作れない ワイヤレスツールキットを導入すると携 帯電話で動くJAVAアプリが作れるよう になる 2004年度ゲームプログラミング 3、電話会社のツールを導入 プログラムの中身はほぼ同じでも、最終的な実 行ファイルの内容は電話会社ごとに異なるので 電話会社ごとにツールを導入することが必要。 KDDIのツールにはコンパイル支援ソフト、エ ミュレータ-が入っている vodafone、docomoのツールもある (授業後半で使用) 2004年度ゲームプログラミング 4、画像、テストプログラム gp2k4_100.lzhを解凍すると gp2004というフォルダが出来るので、 c:\home\ に移動する。 KDDIの設定ファイル、実行ファイル、テストプ ロジェクト(プログラムと画像)が入っている。 ツール等をインストールする際にフォルダ名 を変えなければ、そのまま実行可能。 2004年度ゲームプログラミング サンプルプログラムを動かそう gp2004の下のcmdtools.batを実行すると AUのコンパイル支援ソフトが起動する File→OpenProjectでtestを選ぶ Buildボタンを押すと自動的にコンパイルそ の他の処理を行い、実行ファイルが出来る gp2004/project/test/binにtest.kjxという ファイルができる。これが実行ファイルである。 2004年度ゲームプログラミング テストプログラムの実行 スタートメニューのkddiにエミュレータ- があるので、起動する。 実行ファイルtest.kjxを一番上の欄にド ラッグ&ドロップ RUNボタンを押すと実行 2004年度ゲームプログラミング (参考)buildでやっていること コンパイル プログラム言語→機械が理解できる言語 XXX.java → XXX.class プリベリファイ java環境で動作するか事前検証 アーカイブ クラスファイルやリソース(画像や音のデータ)を 一つにまとめる。 XXX.class → XXX.jar → XXX.kjx(au) 2004年度ゲームプログラミング プログラムとは? 命令の集まり 式(a=b+1;)や メソッド(wait();)などがある。 文末 命令の終わりには「; 」をつけよう 日本語における「。」にあたる 2004年度ゲームプログラミング 命令の基本形、メソッド 様々な処理をしてくれる 実行時のパラメータを指定できる(引数) 計算結果を返してくれる(返り値) 引数、返り値は省略可能 パラメータ(引数) ↓ [ 様々な処理を実行 ] (メソッド) ↓ 計算結果(返り値) 2004年度ゲームプログラミング 処理の流れ(全部で3種類) 上から下へ 最も基本的な処理の流れです。メソッドを 実行すると、メソッドの中を上から下に、 一つずつ順番に命令を実行します 繰り返し(for,while) 指定された処理を何度も繰り返します 分岐(if,else) 条件によって分岐します 2004年度ゲームプログラミング プログラムの単位、クラス プログラムの目的や機能ごとに、メソッドや変数をま とめたものをクラスと言います。 オブジェクト言語特有の考え方です。 サンプルプロジェクトは以下の2つでできています。 ・アプリケーション本体のクラス (test.java) のtest ・描画を担当するクラス (gameCanvas.java)のgameCanvas 2004年度ゲームプログラミング 座標について 画面上の場所を数値を用いて表現する為に、 座標を使う。 (画面の大きさは縦が144、横が144ドット) 横方向がX座標(左端が0、右端が143) 縦方向がY座標(上端が0、下端が143) 左上の座標は(0,0) (X,Y)のように()でくくって表現することが多い。 2004年度ゲームプログラミング 課題の進め方 課題はgameプロジェクト(最初はtestと同じ内容)に 手を加えながら進める。 Gameプロジェクトのフォルダの中身 binフォルダ:最終的な実行ファイルが入る resフォルダ:データ(画像等)を入れる srcフォルダ:プログラムが入っている →srcフォルダの中のプログラムを書き換えて行く 2004年度ゲームプログラミング 雛型 game.javaとgameCanvas.javaからできている。 全部の処理を理解する必要はない。 game.javaは基本的にはいじらない。 殆どの部分がどんなプログラムを書く時も同じ。おまじない のようなものである。 (この同じ部分が「雛型」) 雛型以外の部分は、gameCanvas内のたったの3箇所。 2004年度ゲームプログラミング 雛型で行われる処理 最初にgameCanvas()が1回だけ呼ばれる。 →コンストラクタとも言う 一定時間ごとにpaint()が呼ばれる。 →ここに描画の処理を入れておく 動きの処理を入れる為のメソッドや、ゲームごと の初期化の為のメソッド、キー操作の為のメソッ ドが用意してある。(次回以降で扱う) 2004年度ゲームプログラミング 画像の宣言 private Image img;//画像 画像(Image)を扱う変数imgを宣言。 扱う前に宣言することが必要 変数の名前(img)は自由につけることができ る。(ボールを表示するのでball等でも可) 2004年度ゲームプログラミング 画像の読み込み try{ //画像読み込み img = Image.createImage("/ball.png"); } catch(IOException ex){ System.out.println("Cannot read"); } ball.pngを読み込む 失敗したらエラーを表示 2004年度ゲームプログラミング Try-Catch節 try{ A; } catch(IOException ex){ B; } Aの実行を試みる。失敗したらBを呼ぶ。 一部の命令はtry_catchで囲むことが必要 2004年度ゲームプログラミング 画像を表示 g.drawImage(img,50,50,g.LEFT|g.TOP); 引数は4個 最初の1個で何を表示するかを指定 次の2個でどこに表示するかを指定 最後の1個が表示オプション(左上) →ボールを(50,50)に描く。 2004年度ゲームプログラミング 1、ボールを3個表示しよう 描画関数を3回呼ぶ。 g.drawImage (…); g.drawImage (…); g.drawImage (…); 重ならないよう、座標を変える。 2004年度ゲームプログラミング 2、画面4隅に表示しよう 4隅なのでボールは4個 →描画関数を4回呼ぶ。 左上は(0,0)に表示すればOK。 それ以外の座標の設定は慎重に →ボールの幅、高さを考えよう 2004年度ゲームプログラミング 3、色違いのボールを表示 ball.pngを開いてみよう。 黄色いボールの画像である。 コピーして、ボールの色を青に変え、 ball_blue.pngをいうファイルを作ってresに 置こう。 プログラム中の読み込むファイル名を変えれ ば、違い色のボールを表示できる。 Bitmap(bmp)からpngへの変換は、BTJ3 2を使おう。(photoshop等でpngを直接編 集することも可能) 2004年度ゲームプログラミング 4、ボールのデザインを変えよう 課題3とほぼ同様。 ボール以外の物体も、何でも好きな物 が表示できるようになる。 2004年度ゲームプログラミング 5、2種類の物体を同時に表示 Private Image img_a,img_b; 画像を扱う変数を2個宣言する。 img_a=Image.createImage("/a.png"); img_b=Image.createImage("/b.png"); 2種類のファイルを読み込む。 ・・・
© Copyright 2025 ExpyDoc