1 / 22

ゲームプログラミング

第2回:画面上にボールを描こう!  (プログラム環境の導入、静止画). ゲームプログラミング. 開発環境の導入.  以下3ステップでノートPCがプログラム開発マシンに    1、JAVAコンパイラの導入    2、電話会社のツールを導入    3、画像、テストプログラムをセット. 1、コンパイラの導入. プログラミング言語は、機械にさせる処理を  人間が理解しやすいように記述している。  それを機械が実行しやすい形(機械語)に  変換するのがコンパイラの役目. 2、 電話会社のツールを導入.

oona
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. 第2回:画面上にボールを描こう!  (プログラム環境の導入、静止画) 2008年度ゲームプログラミング ゲームプログラミング

  2. 2008年度ゲームプログラミング 開発環境の導入  以下3ステップでノートPCがプログラム開発マシンに    1、JAVAコンパイラの導入    2、電話会社のツールを導入    3、画像、テストプログラムをセット

  3. 2008年度ゲームプログラミング 1、コンパイラの導入 プログラミング言語は、機械にさせる処理を  人間が理解しやすいように記述している。  それを機械が実行しやすい形(機械語)に  変換するのがコンパイラの役目

  4. 2008年度ゲームプログラミング 2、電話会社のツールを導入 プログラムの中身はほぼ同じでも、最終的な実行ファイルの内容は電話会社ごとに異なるので電話会社ごとにツールを導入することが必要。 ドコモのツールにはコンパイル支援ソフト、エミュレータ-が入っている softbank、willcomのツールもある  (授業後半で紹介)

  5. 2008年度ゲームプログラミング 3、画像、テストプログラム gptest.zipを解凍すると gptestというフォルダが出来るので、 C:\iDKDoJa5.1\apps\ に移動する。 ドコモ用携帯アプリのテストプロジェクト(プログラムと画像)が入っている。 指定の場所に設置すれば、そのままビルドや実行が可能。

  6. 2008年度ゲームプログラミング サンプルプログラムを動かそう プログラムフォルダから iAppliToolKit for Doja-5.1を起動 「プロジェクト読み込み」でgptestを選ぶ 「ビルド」ボタンを押すと自動的にコンパイルその他の処理を行い、実行ファイルが出来る apps/gptest/binにgptest.jar、gptest.jamというファイルができる。これが実行ファイルである。 「起動」ボタンを押すと、アプリが実行される。

  7. 2008年度ゲームプログラミング (参考)buildでやっていること コンパイル   プログラム言語→機械が理解できる言語    XXX.java → XXX.class プリベリファイ   java環境で動作するか事前検証 アーカイブ   クラスファイルやリソース(画像や音のデータ)を   一つにまとめる。    XXX.class → XXX.jar

  8. 2008年度ゲームプログラミング プログラムとは? 命令の集まり   式(a=b+1;)や   メソッド(wait();)などがある。 文末   命令の終わりには「; 」をつけよう   日本語における「。」にあたる

  9. 2008年度ゲームプログラミング 命令の基本形、メソッド 様々な処理をしてくれる 実行時のパラメータを指定できる(引数) 計算結果を返してくれる(返り値) 引数、返り値は省略可能       パラメータ(引数)           ↓      [ 様々な処理を実行 ] (メソッド)           ↓       計算結果(返り値)

  10. 2008年度ゲームプログラミング 処理の流れ(全部で3種類) 上から下へ    最も基本的な処理の流れです。メソッドを    実行すると、メソッドの中を上から下に、    一つずつ順番に命令を実行します 繰り返し(for,while)    指定された処理を何度も繰り返します 分岐(if,else)    条件によって分岐します

  11. 2008年度ゲームプログラミング プログラムの単位、クラス プログラムの目的や機能ごとに、メソッドや変数をまとめたものをクラスと言います。 オブジェクト言語特有の考え方です。 サンプルプロジェクトは以下のクラスでできています。   ・アプリケーション本体のクラス (gameApp.java) のgameApp    ・描画など電話会社ごとに異なる処理を担当するクラス    (gameCanvas.java)のgameCanvasなど。   ・ゲームのアルゴリズムを担当するクラス     (game.java)のgame

  12. 2008年度ゲームプログラミング 座標について 画面上の場所を数値を用いて表現する為に、座標を使う。  (画面の大きさは縦が240、横が240ドット) 横方向がX座標(左端が0、右端が239) 縦方向がY座標(上端が0、下端が239) 左上の座標は(0,0) (X,Y)のように()でくくって表現することが多い。

  13. 2008年度ゲームプログラミング 課題の進め方 課題は新しいプロジェクト(gptestのコピー)を作って進める。 gptestプロジェクトのフォルダの中身   binフォルダ:最終的な実行ファイルが入る   resフォルダ:データ(画像等)を入れる   srcフォルダ:プログラムが入っている 新規プロジェクトを作成して、   (「ソースファイル作成」のチェックは外す)   srcとresの中身をgptestからコピー   →主にsrcフォルダの中のプログラムを書き換えて行く   ※doja4.1より古いエミュレータでは、ADF設定でappNameとappClassを設定する必要あり

  14. 2008年度ゲームプログラミング 雛型 game.javaとgameCanvas.java、gameApp.java、その他のjavaファイルからできている。 全部の処理を理解する必要はない。  game.java以外は基本的にはいじらない。game.javaのみ手を加える。 殆どの部分がどんなプログラムを書く時も同じ。おまじないのようなものである。  (この同じ部分が「雛型」) 雛型以外の部分は、game.java内のたったの2箇所。

  15. 2008年度ゲームプログラミング 雛型で行われる処理 最初にinitGame()が1回だけ呼ばれる。 一定時間ごとにdrawGame()が呼ばれる。   →ここに描画の処理を入れておく 動きの処理を入れる為のメソッドが用意してある。(次回以降で扱う)

  16. 2008年度ゲームプログラミング 画像を表示 gc.drawImage(0,10,20); 引数は3個 最初の1個で何を表示するかを指定 (0だとimg0.gifの内容を表示) 次の2個でどこに表示するかを指定 最後の1個が表示オプション(左上) →ボールを(10,20)に描く。

  17. 2008年度ゲームプログラミング 課題1、ボールを3個表示しよう 描画関数を3回呼ぶ。   gc.drawImage (…);   gc.drawImage (…);   gc.drawImage (…); 重ならないよう、座標を変える。

  18. 2008年度ゲームプログラミング 課題2、画面4隅に表示しよう 4隅なのでボールは4個    →描画関数を4回呼ぶ。 左上は(0,0)に表示すればOK。  それ以外の座標の設定は慎重に    →ボールの幅、高さを考えよう

  19. 2008年度ゲームプログラミング 課題3、ボールの色、デザイン変えてみよう img0.gifを開いてみよう。  黄色いボールの画像である。 色やデザインを変え、上書き保存しよう。 ビルドして、実行してみよう。 黄色い画像も名前を変えてバックアップしておくと(img0_bk.gif等)元に戻すことができる。 Bitmap(bmp)からgifへの変換は、irFanViewを使おう。(photoshop等でgifを直接編集することも可能)

  20. 2008年度ゲームプログラミング 課題4、2種類の物体を同時に表示(1) gameCanvasは img0.gifから順番に勝手に読み込んでくれる 注意:img0.gif,img1.gif,img3.gifのように、飛んでしまった場合、img3.gifは読み込まれません

  21. 2008年度ゲームプログラミング 課題4、2種類の物体を同時に表示(2) 2種類(以上)の画像を用意 img0.gif , img1.gif , img2.gif、、、 と順番に名付ける 描画する。 gc.drawImage(1,…);// img1.gifを表示

  22. 2008年度ゲームプログラミング 課題5、背景を描こう 画面と同じサイズの画像を表示してみよう。 画面サイズは縦240、横240   →まずは画像を準備   →gifで保存(色数は256色まで) 表示の方法は、ボールの表示と同じ3ステップ   →ファイル名を変更してresに入れる   →読み込む画像数の指定を増やす   →表示する(ボールとの描画順番に注意)

More Related