🗂

ブロック崩し応用編part③

2024/02/18に公開

【ライフ処理】
・デスゾーンというクラスをArea2Dで新しく作りコリジョンを設定
・シグナル関数_on_body_entered(body)はある物体が侵入してきたときに呼び出される
・これを設定すればボールがデスゾーンに侵入したかを確認できる。

【UI作成】
・CanvasLayer追加し子ノードにMarginContainerを追加。
・MarginContainerは自動的に画面サイズに合わせてくれる便利なノード
・これによりUI配置やサイズ感調整がしやすい

・スクリプトにアタッチ
・ラベルノードをいつものようにCtrl+ドラッグアンドドロップで参照するとツリーが多すぎて処理に時間がかかることがある
・のこりのライフはすぐ出せるようにしたい
・固有名でアクセスするを押し直接取得できるように

・get_node()と似てるしget_node()いらないのでは?と思ったがget_node()はエラーチェックができるのがメリット

・reload_current_scene()は現在のシーンを再度読み込むという処理を行う
・currentは「現在の」という意味
・リスタートボタン「GameLostButtom」が押されたときにシーンを再度読み込む処理

・シグナルが複雑で混乱中
①まずDeathZoneが発するシグナルはlife_lostであり、Ballがこのシグナルをconnectしon_life_lost処理を行う
②ライフがゼロではないなら今度はballがlife_lostシグナルをemitでだしてる
③paddleがballのシグナルをconnectしon_ball_lostとしボールを止める

Discussion