良いプログラマは、プロジェクトの要件をJavaの学習ルート共有FlappyBirdのヘルプドキュメントを開発します:
完全なゲームをFlappyBird。
1.機能:
ゲームは、マウスの断続的なクリックを開始し、該当しない、鳥が飛ぶせ、そして列に隙間を通って、列には、会った死者それをヒットし、一点のカラムを通過することはできませんした後
2.インタフェースの要件:
インターフェースを開始します:
ゲームを開始するには、マウスをクリックして、ゲームのインターフェイス:
ゲームのインターフェイスの終わりに:
3.パフォーマンス要件:
各ゲームには鳥が減少している鳥の高さとスピードを飛ぶためにマウスクリック、リアルタイム応答が指定されなければならない必要とし、柱は最終的にポストにバーディー柔軟性コヒーレントシャトルを作り、登場循環されています部屋。
4.開発ステップ:
Bird.java、柱クラスColumn.java、地上カテゴリ:Ground.java、プロジェクトがメインクラスGame.java、カスタムパネルクラスBirdGame.java、小さな鳥が含まれています
(1)列クラスColumn.javaを作成します。
プロパティが含まれます:
画像のBufferedImageは、画像の幅、高さのX、Y、幅と高さを調整します
(オブジェクト2つの列を初期化するまでの)列数の数。
コンストラクタカラム():
この方法は、()カラムの動きを移動します。
(2)Ground.javaクラスを作成します。
負荷ピクチャ(0500)の座標を初期化するコンストラクタは、メソッドの動きを作成します
(3)Bird.javaクラスを作成します。
負荷の画像座標(190、220)を初期化するコンストラクタは、アップとダウン作成方法
プラスポイントを追加する場合、すなわち点addScore(列C)法、カラムのカラム幅に等しい横横鳥の原理を、作成します。
地上衝突メソッドを作成し、鳥の縦と地上座標を比較し、メソッド、原則のヒントをhitGround。
ポスト衝突検出方法hitColumnを作成します。
(4)のJPanelを拡張BirdGame.javaパネルクラスを作成
状態変数は、ゲームの状態を表し、0は開始状態、ゲームの状態、状態オーバー2ゲームです。
コンストラクタローディングbg.png、start.png、gameover.png、初期状態= 0、初期接地、鳥、COLUMN1のCOLUMN2およびオブジェクト。
重写paint方法public void paint(Graphics g)
利用g.drawImage方法绘制界面
显示分数
定义内部类MyMouseAdapter 继承MouseAdapter
重写mousePressed方法public void mousePressed(MouseEvent e)
根据当前游戏状态,更改鼠标点击后状态及对应对象坐标。
创建action方法,添加鼠标监听事件
无限循环(while(true))根据不同游戏状态调用bird,ground,column对象中的方法(利用switch case),然后利用线程延迟实现重复绘制
(5).创建Game.java作为运行主类,原理:
Main方法中创建JFrame对象,将BirdGame面板实例化后添加进JFrame对象中,最后调用BirdGame对象的action方法。