🦁

ブロック崩しpart2

2024/02/06に公開

ブロック生成

・2Dエディター画面の左上にある中心ビューを押せば選択ノードを画面中央に持ってこれる
・@から始まるのはアテネーション
・注釈のようなイメージでプログラムにメモを残すための特別な単語

・@exportはあとに続く変数や関数を簡単に調整できるようにしておいてねというようなメモ

・PackedSceneはゲームの設定や情報が詰まった箱のようなもの
・インスタンス化とは既存のシーンをもとに新たな実体を作り出すプロセスのこと

・instantiate()関数は新しいものを作り出すときの命令

・forは同じ処理を繰り返すときに使う。

・inは範囲やリストを指定できれば順番にアクセスしてくれる。forとセットと考えて良いだろう。
・今回はin x_numberを指定した。

・インスタンス化したらadd_child()でつくったやつを忘れずに追加すること

・asは特定の型に変換するという役割を持っているそうだが、今回はちょっと使われ方が違いそう
・return(collision.shape as CircleShape2D)となっておりcollision.shapeがCircleshape2Dであることを補足しているイメージだ。

・get_child()は0であれば一番目の子ノードを取得。三番目の子ノードを取得したい場合は4である。

・BlockInitializerでblock_instance.get_sizeとやっても入力補完が出ない…
・ブロックのスクリプトでクラスを宣言しないといけないようだ
・class_nameはextendsの下に追記すること。変数の下だとエラーになる

・BlockInitializerのスクリプトに移りblock.instantiate()に as Blockを追加
・やはり意味合いとしては宣言してBlock型を同じものとして扱えということだろう。

・constは宣言時にしか代入できない定数で今回は10を入れた。

・floor()関数は小数点を切り捨てた整数を返す。割り算で使う。7.9だったとしても7で扱われるのだ

Discussion