プロフィール

カイロプラクター てん

Author:カイロプラクター てん


【趣味】
・自転車に乗って
 ヘロヘロになる事。
・カイロプラクティックで
 人を元気にする事。

カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
作ったiOS App

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

iPhone iOSで対戦型ゲームを作ろう!#6

今回は、玉のあたり判定のプログラム〜。
ついでに、今回から
Xcode 4.6にバージョンアップ!!

さて、さて、どこにあたり判定を置こうかな?



うん?
そもそも、対戦と言っておきながら、勝ち負けの判定(ルール)を考えていなかったりする・・。

う〜ん

それじゃ、飽きるまで無限ループしよ〜と、

では、敵UFOとMyBomのあたり判定

場所は、うんこ発射プログラムと左右移動プログラムの間

判定方法は、楕円と円の距離ではなくて、領域(?)での判定をします。
if文がずらりと並ぶ感じ

まずは、Y座標から考える。
敵UFOの上をMyBOMがY座標方向に通過する時の関係は以下の5通りが考えられる。
1301170.png
2、3、4の時が当たり判定のフラグが立つような条件を考えればいい。

まずは、[2]について よ〜く 考える
1301171.png

敵UFOの上側のY座標の変数が TekiUFO_UP ( Y = 50 )
敵UFOの下側のY座標の変数が TekiUFO_DN ( Y = 115 )
BOMの上側のY座標の変数が BomUP ( Y = 100 )
BOMの下側のY座標の変数が BomDN ( Y = 148 )
とした場合・・・・・、

敵UFOにBomがメリコンでいる部分を
じ〜と、見ていると
1301175.png
BomUP < TekiUFO_DN ( 100 < 115 ) の条件式がみえてくる。 

しか〜し!
このままでは、[5]の時も成立していまうので問題あり
残りの変数 BomDN、TekiUFO_UP を駆使して



難しい・・。

では、ちょっと考え方を変えて[4]の時を考える
座標は、こんな感じ
TekiUFO_UP ( Y = 50 )
TekiUFO_DN ( Y = 115 )
BomUP ( Y = 20 )
BBomDN ( Y = 68 )

同じく、敵UFOにBomがメリコンでいる部分を
じ〜と、見ていると
1301176.png
BomDN > TekiUFO_UP ( 68 > 50 ) の条件式がみえてくる。

[2][4]の合わせ技を使って
1301172.png

BomUP < TekiUFO_DN && BomDN > TekiUFO_UP
となるわけです。
ややこしくなりましたが、
興味のある方は、[1][2][3][4][5]の答え合わせしてみよう!

そして
プログラム部分はこんな感じ
1301173.png
座標取得部分が長くなってしまったけど・・、

シミュレータ Run!
敵UFOとBomがY座標方向で同じになると
LOGに「Hit」が連続で表示されているのがわかる。

成功!

あとは、Y座標と同じ考え方でX座標の条件分を追加
1301174.png
赤い所が、追加した部分

シミュレータ Run!
LOG出力をみると、敵UFOとBomが重なり合った時だけ「Hit」が出力される。

成功!

ふぅ〜、

頭使いすぎたので、今回はこれで終わり。

次回は、Hitしたらそれらしく敵UFOをフラフラさせます。

--* ページのまとめ *--
1.iPhone iOSで対戦型ゲームを作ろう!#1
2.iPhone iOSで対戦型ゲームを作ろう!#2
3.iPhone iOSで対戦型ゲームを作ろう!#3
4.iPhone iOSで対戦型ゲームを作ろう!#4
5.iPhone iOSで対戦型ゲームを作ろう!#5
6.iPhone iOSで対戦型ゲームを作ろう!#6
7.iPhone iOSで対戦型ゲームを作ろう!#7
8.iPhone iOSで対戦型ゲームを作ろう!#8
9.iPhone iOSで対戦型ゲームを作ろう!#9
10.iPhone iOSで対戦型ゲームを作ろう!まとめ
THEME:プログラミング | GENRE:コンピュータ |

COMMENT

EDIT COMMENT

非公開コメント

 
検索フォーム
QRコード
QRコード
ブロとも申請フォーム
FC2カウンター
ビリリティピルズ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。