1回目衝突判定
-
Upload
takuya-shishido -
Category
Documents
-
view
166 -
download
0
Transcript of 1回目衝突判定
![Page 1: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/1.jpg)
当たり判定
第1回
![Page 2: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/2.jpg)
先ほど遊んでみてどうでした?皆さんがイメージしている通りにプログラムは動いていましたか?
![Page 3: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/3.jpg)
試しにこのバグを修正してみましょう。Windows の人は Visual Studio でMac の人は Safari か Chrome でLibrary.js の utility.hitTest ブレークポイントを置いてみましょう。行のちょっと左側をクリックしてみてください。マークは付きました?
それでは、 F5 でプログラムを実行してみましょう。
![Page 4: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/4.jpg)
止まりました?このかっこで括られた部分を関数と言います。まだ何も書かれてないですね。
” これの中身を “実装 して修正してみましょう。
![Page 5: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/5.jpg)
ここでブレークタイム。
そもそも当たってるってどういうことでしょうか?
![Page 6: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/6.jpg)
この2つの四角はあたってる?
![Page 7: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/7.jpg)
じゃあこの場合は?
![Page 8: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/8.jpg)
今のやり取りを数学的に説明できるものを書く。それがプログラミングというものになります。
実はプログラミングって数学チックなのです。
![Page 9: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/9.jpg)
では数学的に色々考えていましょう。ちなみにすぐに出来る人もいると思いますがあまり気にしないようにしましょう。
最初はできないです。俺もできなかったです。
![Page 10: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/10.jpg)
登場人物は4つ
![Page 11: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/11.jpg)
こいつ
こいつこいつ
こいつ
![Page 12: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/12.jpg)
おさらい。これは当たってるわけです。
![Page 13: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/13.jpg)
これは当たってないわけです。
![Page 14: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/14.jpg)
もういっちょ。当たってるわけです。
![Page 15: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/15.jpg)
当たってないです。
![Page 16: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/16.jpg)
登場人物達の様子はいかが?
![Page 17: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/17.jpg)
なんとなくわかりました?
![Page 18: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/18.jpg)
とりあえずプログラムを書いてみましょう!
![Page 19: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/19.jpg)
utility.hitTest(lhs, rhs){
lhs.xlhs.ylhs.x + lhs.widelhs.y + lhs.height
}
登場人物達はプログラムではこうやって登場してもらいます。
x, y は座標のこと。wide は 幅height は 高さ のこと
![Page 20: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/20.jpg)
…つまり
![Page 21: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/21.jpg)
(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回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/22.jpg)
そろそろ頭が痛い?
![Page 23: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/23.jpg)
中身は実は簡単
![Page 24: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/24.jpg)
ここ、 x ここの幅 wide じゃあここ
は?
![Page 25: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/25.jpg)
いけそうです?
![Page 26: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/26.jpg)
では頑張ってプログラミングしてみましょう!
![Page 27: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/27.jpg)
if ( 何か条件 ) {正しかった場合こ
こ} else {
そうでないときここ}
(true) && (true) => true(true) || (false) => true(false) || (false) => false
true : 正しいfalse : 正しくない
憶えておくといいこと!
![Page 28: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/28.jpg)
最後に!
![Page 29: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/29.jpg)
弾速をめっちゃ早くすると!?
![Page 30: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/30.jpg)
何が起きたのでしょう?
![Page 31: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/31.jpg)
今まで
スタート 次 その次
ここで Hit !!!
![Page 32: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/32.jpg)
今
スタート 次
![Page 33: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/33.jpg)
そう、速すぎるのです!速すぎて次の瞬間には遠くにいるのです!!!
![Page 34: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/34.jpg)
どうするの?
![Page 35: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/35.jpg)
今後の課題とします!と言っても宿題ではないです。結構難易度高いですよ!
![Page 36: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/36.jpg)
他に。
![Page 37: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/37.jpg)
当たってる?
![Page 38: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/38.jpg)
当たってる?
![Page 39: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/39.jpg)
これらも今後の課題とします!
![Page 40: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/40.jpg)
これにて今日の講義終了です。お疲れ様でした!
![Page 41: 1回目衝突判定](https://reader034.fdocument.pub/reader034/viewer/2022042716/55abaf4b1a28ab1c3c8b4675/html5/thumbnails/41.jpg)
今日の宿題!
今日のあたり判定を実装したものをSVN でコミットしてください!