接触判定がうまくいかない(二回目)・・・swiftアプリ開発
またしてもうまくいかない
・・・なぜなのか!?
以前、数時間格闘した末に解決したはずなのに・・・
・・・なぜなのか!?
もういやだーーーーーーーパソコンなんて見たくもないぃぃーーー!
わけわからない事書いているかもしれませんがとりあえず書いておきます。
- 猫
- 敵
- 自弾
- 敵弾
この四つの要素があって、
- 猫 ー 敵弾
- 敵 ー 自弾
- 自弾 ー 敵弾
この要素はそれぞれ望む形でできていたのですが
猫 ー 敵 の接触だけはなぜか反応してくれない・・・
簡単な記述ミスかと思い見直したのですが、そんなこともなかった。
記述漏れかと思い見直したけれどこれも違う。
・・・(⌒-⌒; )
途方に暮れていたのですが、
自分がよく理解していない
didbegincontact
内に何かしらの間違いがあるはず・・・・
前回はネットで得た知識?をそのまま書いたらうまくいったので深く考えていなかったんですが、
fristbody とか secondbody
周辺をよくみてみると
あるif文では、 firstBody に対してColliderType.nekoを設定しているのに
その下のif文では、 secondBodyに対してColliderType.nekoと設定していました。
こんな感じで宣言していて、不等号?(<)なんかも使用していたので
なんとなく順番も重要なのかなーと思い試してみたら・・・・
で、できた!!!
if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask{
firstBody = contact.bodyA
firstBody = contact.bodyB
}
と記述していて、一度順番も大切だと思ったりしたのですがこれに続き、
else{
firstBody = contact.bodyB
secondBody = contact.bodyA
}
とも記述していて、firstBodyとsecondBodyひっくり返していたので
順番もどうでもいいのかと勝手に脳内処理をしていました( ^ω^ )
だから私がミスしたのも、私が悪いわけでは無いのである
書く順番を修正して思い通りにいったということは
原因は記述する順番にあったということでいいのだよね!?
まぁ他に確認しようが無いのでそう思いこんでいよう
修正後
修正前
最近簡単なミスでなかなか進まない上に、
作っているアプリが明らかにつまらないのでなんかやる気がでない(⌒-⌒; )
面白いのを作ればいいのだろうけど、その前にある程度さくさく進める技術力を身につけないとつまづきまくって本当に進まなくなってしまうので
まずは基本を習得する!!
そのために面白さよりも経験を重視して、たくさんアプリを作る!!!
でもつまらないアプリなのでやる気がでない!!!
・・・やっぱり私はアプリ開発なんて向いていないんだ