第12回講義資料

コンピュータと論理A
第12回 2015年7月1日
App Inventorによる
Androidアプリ開発の実践
(6) アクションゲームの応用
1
今回の授業内容
• ゲームキャラクタ移動における「慣性」
• アクションゲームの続きを作る
– ボタン長押しで横移動(等速)
– ボタン長押しで横移動(慣性)
– 効果音をつける
– スコアの計算・表示
2
ゲームキャラクタ移動における
「慣性」
3
「慣性の効いた動き」とは
動き始めはゆっくり、徐々に加速していき、急に反対方向に
動こうとしても勢いがついているのですぐには方向転換でき
ない,そんなリアルな動き。アクションゲームでは一般的。
等速移動
例1:加速度2,始点3,右方向にキャラクタを動かす場合
速度→2,4,6…とどんどん速くなっていく
座標→3+2=5,5+4=9,9+6=15,…
と動いていく
例2:加速度3,始点2,右方向にキャラクタを動かす場合
座標→2,
,
,
,
,…
そのまま左に方向転換
,
,
,
,
,
,
,
,
,…
プログラムでこれを実現するためには?
4
慣性移動のプログラム
• 今回制作しているアクションゲームの
横移動に慣性を効かせる場合
speedを0で初期化する
左ボタンが押されている状態だったら
speedから1を引く
右ボタンが押されている状態だったら
speedに1を加える
どちらも押されていなければ
徐々に減速して
speedに0.8をかける
止まるようにする
x座標にspeedを足す
5
アクションゲームの続きを作る
6
スタートボタンの横に部品を配置するため
HorizontalArrangementを配置
7
スタートボタンをドラッグして
HorizontalArrangementの中へ入れる
①
10
スタートボタンが
隠れてしまったので
一時的に高さを狭くする
②
8
高さを元に戻す
Auto
9
ラベルと左右移動用ボタンを配置
10
HorizontalArrangement1の設定
Fill
11
スコア表示用ラベルの設定
20
Fill
0
right
12
左ボタンはお絵かきアプリと同様に設定
13
右ボタンも同様に設定
14
ボタン長押しで横移動できるようにする
(等速移動)
左ボタンが押されている状態だったら
右ボタンが押されている状態だったら
追加
追加
15
ボタン長押しで横移動できるようにする
(慣性移動)
左ボタンが押されている状態だったら
右ボタンが押されている状態だったら
追加
変更
16
効果音をつける(例)
スタート時
ジャンプ時
敵と衝突時
17
効果音を鳴らす処理と
スコアを増やす処理は
各自で考える
効果音を鳴らすタイミング,
スコアが加算される条件は
自由に決めてよい
18
次回の予告
• アクションゲームの発展
– 敵の数を増やす
– 敵の動きを複雑に
– 敵を攻撃できるようにする
時間が余った人は
先取りして自分で挑戦してみよう
19
敵を増やす
36
24
patapata.png
180
300
20
第3回課題レポートについて
• タイトル
– アクションゲームの制作
• 内容
– 制作したアクションゲームについてレポート
を作成する
• 提出方法
– 前回と同じ
• 提出期限
– 7月14日(火)23:59
21