2012/02/18_Java / ゲーム開発初心者のためのAndroidゲーム開発講習会( #droidgamedev )
- kimukou2628
- 1830
- 0
- 0
- 0
#droidgamedev 今回のライブラリは描画はOpenGLで遣っているとのこと(OpenGLは初心者が深入りすると大変 とのお話 <=ただ読み込めれば勉強になりそう このサンプルを元にした本は夏頃に発売予定
2012-02-18 15:27:13#droidgamedev Maru fire 、updateをオーバライド update に fire() fire に PlayerFiter の BulletBase fire()処理コピペ
2012-02-18 15:41:20#droidgamedev これだと毎フレーム上に弾が飛んでしまうので BulletBase => EnemyBullet を作成。 EnemyBullet と PlayerBulletの違いは、updateのoffset方向と描画画像を変更
2012-02-18 15:44:37#droidgamedev Maruのfireの中身を変更 EnemyBullet bullet = new EnemyBullet(this); stage.addEffect(bullet);
2012-02-18 15:46:18#droidgamedev 弾の移動量は、プレイヤーと同じ速度にしてしまうとゲームバランス的にダメ><。 プレイヤーの弾が-10で飛ぶなら 5あたりで調整しましょう
2012-02-18 15:47:19#droidgamedev コントローラの動かす感じと ボタンの感触が凄い秀逸だな~。後で中身じっくり見てみたい
2012-02-18 15:52:51#droidgamedev OpenGLを使う面での利点) 普通のCanvas8MBまで画像 256MB~500MBまで使えるので OpenGLは良いとのお話
2012-02-18 15:56:09#droidgamedev Maru 的の毎秒球打ちは厳しいので Maru::update に switch(getFrame()){ case 60: fire(); break; } に修正(出現後60フレーム後<基本30フレなので2秒後
2012-02-18 16:01:30#droidgamedev これだと2秒後だけなので case 120: offsetPosition(0,30); resetFrame();//フレームカウントリセット break; を追記
2012-02-18 16:07:30#droidgamedev これだと弾段幕逃道ないので case 30:に追記 FighterBase player = stage.getPlayer(); if(Math.abs(player.getPositionX() - getPositionX()) < 60)
2012-02-18 16:13:09#droidgamedev ゲームオーバ) StageBase::isGameOver を書き換えてみましょう return player.isDead();
2012-02-18 16:17:46#droidgamedev ゲームクリア条件の書き換え) public boolean isGameClear() { return enemys.isEmpty();
2012-02-18 16:22:26#droidgamedev 今の状態だと敵が一番下に到達した場合ゲームオーバーにならないので、ゲームオーバ条件を修正
2012-02-18 16:28:20#droidgamedev if(player.isDead())return true; for(FighterBase ene :enemys){ if(ene.getPositionY()>player.getPositionY())return true; }
2012-02-18 16:30:20#droidgamedev Stage01::getNextStage を下記修正 return new Stage02(getResourceManager(), getSpriteManager(), getTouchInput()); this.で補完する手も
2012-02-18 16:42:00#droidgamedev 次は Maru と同じように EnemyFighterBase=>Tonagariを作ってみましょう。 画像 R.drawable.enemy_01 に変更 setHitPoint(30); 追記してHP変更
2012-02-18 16:53:52#droidgamedev ボスなので updadeは以下な感じに弾連打 switch(getFrame()){ case 6: case 9: case 12: case 15: case 18: fire(); みたいなイメージで。実際は色々調整
2012-02-18 16:58:24#droidgamedev あとはStageの配列 enemyTable を弄りましょう ピラミッドのような配置も可能
2012-02-18 17:02:05#droidgamedev 講義終了~。一通り体験できた。 でもライブラリ次第だよね(汗。数学も基本知らなくても作れるらしいけど しっておくにはこした事ないよな・・・
2012-02-18 17:05:30#droidgamedev 本日はどうもありがとうございました。 <となりのエミュレータで作業されていた方は結構苦戦していたな。やはり実機がないと厳しいかも
2012-02-18 17:06:56#droidgamedev 今回使用したanddroidgamelib.jarのソースに関しては本の販売とともに公開します とのお話 (スレッドやOpenGL=>SurfeceViewのラッパのライブラリとか色々と ライブラリ自体を使ってMarket出してもOKだそうです
2012-02-18 17:12:26