1回目衝突判定

41
当たり判定 第1回

Transcript of 1回目衝突判定

Page 1: 1回目衝突判定

当たり判定

第1回

Page 2: 1回目衝突判定

先ほど遊んでみてどうでした?皆さんがイメージしている通りにプログラムは動いていましたか?

Page 3: 1回目衝突判定

試しにこのバグを修正してみましょう。Windows の人は Visual Studio でMac の人は Safari か Chrome でLibrary.js の utility.hitTest ブレークポイントを置いてみましょう。行のちょっと左側をクリックしてみてください。マークは付きました?

それでは、 F5 でプログラムを実行してみましょう。

Page 4: 1回目衝突判定

止まりました?このかっこで括られた部分を関数と言います。まだ何も書かれてないですね。

” これの中身を “実装 して修正してみましょう。

Page 5: 1回目衝突判定

ここでブレークタイム。

そもそも当たってるってどういうことでしょうか?

Page 6: 1回目衝突判定

この2つの四角はあたってる?

Page 7: 1回目衝突判定

じゃあこの場合は?

Page 8: 1回目衝突判定

今のやり取りを数学的に説明できるものを書く。それがプログラミングというものになります。

実はプログラミングって数学チックなのです。

Page 9: 1回目衝突判定

では数学的に色々考えていましょう。ちなみにすぐに出来る人もいると思いますがあまり気にしないようにしましょう。

最初はできないです。俺もできなかったです。

Page 10: 1回目衝突判定

登場人物は4つ

Page 11: 1回目衝突判定

こいつ

こいつこいつ

こいつ

Page 12: 1回目衝突判定

おさらい。これは当たってるわけです。

Page 13: 1回目衝突判定

これは当たってないわけです。

Page 14: 1回目衝突判定

もういっちょ。当たってるわけです。

Page 15: 1回目衝突判定

当たってないです。

Page 16: 1回目衝突判定

登場人物達の様子はいかが?

Page 17: 1回目衝突判定

なんとなくわかりました?

Page 18: 1回目衝突判定

とりあえずプログラムを書いてみましょう!

Page 19: 1回目衝突判定

utility.hitTest(lhs, rhs){

lhs.xlhs.ylhs.x + lhs.widelhs.y + lhs.height

}

登場人物達はプログラムではこうやって登場してもらいます。

x, y は座標のこと。wide は 幅height は 高さ のこと

Page 20: 1回目衝突判定

…つまり

Page 21: 1回目衝突判定

(lhs.x, lhs.y)

(lhs.x + lhs.wide, lhs.y + lhs.height)(lhs.x, lhs.y + lhs.y + lhs.height)

(lhs.x + lhs.wide, lhs.y)

こういうこと!

Page 22: 1回目衝突判定

そろそろ頭が痛い?

Page 23: 1回目衝突判定

中身は実は簡単

Page 24: 1回目衝突判定

ここ、 x ここの幅 wide じゃあここ

は?

Page 25: 1回目衝突判定

いけそうです?

Page 26: 1回目衝突判定

では頑張ってプログラミングしてみましょう!

Page 27: 1回目衝突判定

if ( 何か条件 ) {正しかった場合こ

こ} else {

そうでないときここ}

(true) && (true) => true(true) || (false) => true(false) || (false) => false

true : 正しいfalse : 正しくない

憶えておくといいこと!

Page 28: 1回目衝突判定

最後に!

Page 29: 1回目衝突判定

弾速をめっちゃ早くすると!?

Page 30: 1回目衝突判定

何が起きたのでしょう?

Page 31: 1回目衝突判定

今まで

スタート 次 その次

ここで Hit !!!

Page 32: 1回目衝突判定

スタート 次

Page 33: 1回目衝突判定

そう、速すぎるのです!速すぎて次の瞬間には遠くにいるのです!!!

Page 34: 1回目衝突判定

どうするの?

Page 35: 1回目衝突判定

今後の課題とします!と言っても宿題ではないです。結構難易度高いですよ!

Page 36: 1回目衝突判定

他に。

Page 37: 1回目衝突判定

当たってる?

Page 38: 1回目衝突判定

当たってる?

Page 39: 1回目衝突判定

これらも今後の課題とします!

Page 40: 1回目衝突判定

これにて今日の講義終了です。お疲れ様でした!

Page 41: 1回目衝突判定

今日の宿題!

今日のあたり判定を実装したものをSVN でコミットしてください!