つむつむやったことない
他のチュートリアルも見ておこう。まずはInterface & Essentials。これ超基本だけど知らない操作もあるだろうから全部見た!見終わった!これで!私!うにちーますたー!!
チュートリアルでちゃんと学べたのか試すために、ゼロからゲームを作れるか試してみましょ。
数時間後
ごめんむり。すべてのオブジェクトをコードから生み出そうとしたけど、そんな方法わからんがな。諦めて別の方法を取ろう。すべてのオブジェクトはシーンに配置しましょう。動的生成なんて後回しだ。
まるとらずを配置して、重力の作用で、画面外へ落下。床を作るためにイカちゃん海の家を配置。当たり判定をどうやって作ろうかと思っていたら、線分配置も対応してんのな。輪郭をなぞってコリジョン完成。ゲームだから、まるとらずがどんどん増えていって欲しい。つーわけでプレハブ作って動的生成だー!
イカちゃんがまるとらずを投げる感じ?下にどんどん積み重なる。
クリックしたら消えて欲しい。マウス位置とクリック検知を仕込み、まるとらずとコリジョン取ってDestroy(this)を記述したらあら不思議、バグ!Destroy(gameObject)にしないとダメなんだってさ。thisだとC#コードだけ外れる。罠すぎるわ。
隣り合うとらも消えてほしいけど、隣り合ってるって判定どうすんの?判定時にコリジョンを大きくしたらいいのかしら。衝突時に相手のIDを保存させる方が楽かな?って、コリジョン判定してくれない。小一時間悩み抜いた末
void OnCollisionStay(Collision collision)
ではなくて
void OnCollisionStay2D(Collision2D collision)
このように2D指定しないとダメだってさ!気づかんわ!!
修正したけど永久ループでUnityフリーズ。あー、相互に呼びあって終わらんわコレ。
処理を修正して解決したけど別の問題が発覚。見た目では接触して隣り合ってるようにみえるけど、隙間があって接触してないから消えない。ゲームとして作り込むと、見た目との相違でプレイにストレス溜まる?コリジョン大きく取って判定したほうが良いのかな。コリジョンだけスケール変更できたら良いのに…。
exe、apk、ブラウザ上の3つで動作確認OK。このサーバにUPしての動作もOKであった。
C#のコード量は50行程度なんだよね。それでも苦戦中