2019/6/25組ぷよに付けるスクリプトを記述しよう3このページでも、前回から引き続き、ぷよセットオブジェクト(親)に付けるスクリプトを記述していきます。今回は、組ぷよの基本的挙動その3として挙げました、どちらかのぷよが着地すると組ぷよはコンビ解散についてスクリプトに書いていきます。・どちらかのぷよが他のぷよの上に着地した時このどちらかになります。今回、これらの条件はそれぞれの別のスクリプト文で書いていきます。「組ぷよはコンビ解散」を噛み砕くと?その前にもう一度制作手順1で書いた作戦を復習しましょう。細かくスクリプトを書いている時こそ、全体像(=作戦)を忘れないようにすることが重要です!!制作手順2-1からスクリプトを書いてきているのは、ぷよセット空オブジェクト(親)に付けるスクリプトでしたね。どちらかのぷよが着地するとぷよセットオブジェクト(親)は消滅し、コンビは解散!という話でしたね。よって、「組ぷよはコンビ解散」を言い換えると、ぷよセットオブジェクト(親)が消滅という意味になります。他のぷよの上に着地した瞬間に、ぷよセットオブジェクト(親)が消滅するスクリプトを書く上で、こういった言い換え・噛み砕きは非常に大切です。スクリプトを書いている最中に考えても良いですが、出来れば書く前に作戦を固めておきたいですね。ぷよセットオブジェクト(親)消滅後の各ぷよの挙動については、また別ページ(制作手順3-1以降)にて書いていきます。ここでは、あくまでぷよセットオブジェクト(親)の消滅まで、のスクリプトを書いていきます。基本的挙動3「組ぷよの落下終了」をスクリプトで記述しようでは、いよいよスクリプトを書いていくのですが、今回はとりあえず、前回スクリプトに実装した左右回転を使わず、基本的な形(0°回転の状態)のまま落下していく状況のみを考えます。コレ、結構重要なことになります。「なんで~?」という声もあると思いますが、一旦受け入れて下さい、お願いします。_)m地面に着地した時、ぷよセットオブジェクト(親)が消滅まずは比較的簡単に書ける、「地面に」着地した時、ぷよセットオブジェクト(親)が消滅、についてスクリプトに書いていきます。回転していない時は親オブジェクトは下のぷよと同じ位置に居ます。右図より、下の地面に着地する時、下ぷよ(親オブジェクト)の中心Y座標=-5.5fになります。よって、親オブジェクトの中心Y座標=-5.5fになれば、親オブジェクトが消滅と、とスクリプトに書けば良さそうですね!ここまで分かればあとはいけそうです!前回に引き続き、Updateメソッド中に書いていきます。{gameObject.transform.DetachChildren();Destroy(gameObject);}2行目で親子関係を解除して、3行目でもう不要となったぷよセットオブジェクト(親)を削除します。丸め誤差対策を実装しようただこの文、実はちょっと微妙で、思い通りにいかない危険性があります。それは、コンピューター上で一般的に計算する際に現れる、丸め誤差という悪者が現れる可能性があるからです。小数点型(float)とかで計算してる際、計算結果がピッタリ思い通りにいかず、めっちゃ小さいズレ(正しい値より0.000001f大きいとか小さいとか)が発生する可能性があるんです(これはUnity関係なくプログラミングやってると必ず現れる現象です)。これが原因と分からず、合うはずの計算が合わなくて苦しんでると、「もうPC計算なんて何も信じられへん...プログラミング嫌...」ってなります。お気持ちめっちゃ分かります。プログラミングやるからには、この丸め誤差と上手に付き合っていく必要があります。そこで今回は、こんな風に書き換えます。丸め誤差を取り除く方法は幾つかあると思いますが、今回はこんな方法を取ります。{gameObject.transform.DetachChildren();Destroy(gameObject);}Mathf.RoundToIntは「小数第1位を四捨五入して整数化する」という関数です。要するに、四捨五入を利用して小さい誤差を消してしまおう、という作戦になります。今回ぷよオブジェクトの中心位置座標は「○.5f」という小数第1位までの値になりますので、小数第2位を四捨五入したいのですが、残念ながらUnityのスクリプト文にはドンピシャそういう関数はありません。そこで上の2、3行目のように書きます。1.5f【本当に欲しい数】これで欲しい数が得られます。さよなら、丸め誤差(⌒ー⌒)ノ~~~この手法は今後も使っていきますので、しっかり理解しておいて下さい。このページでは、前回に引き続き、ゲームの監督スクリプトを記述していきます。このページでは、テトリミノに付けるスクリプトを記述していきます。このページでは、前回に引き続き、ゲームの監督スクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。このページでも、前回に引き続き、ゲームの監督スクリプトを記述していきます。このページでも前回に引き続き、各ぷよオブジェクトに付けるスクリプトを記述していきます。このページでも前回に引き続き、ぷよセットオブジェクト(親)に付けるスクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。コメントをキャンセルメールアドレスが公開されることはありません。Unityゲーム制作日記.。