
◆◆◆ 親となったノードのパラメーターや変数を、扱えそう ◆◆◆
自身以外のノードのパラメーターや変数を扱うのは、ゲーム制作では必須の一つだ。
$/root/~~、
という書き方が、どのような環境がそろったときに使えるのか、復習のために以下の様な
プログラムを書いた。
「無効なものが使われてる」というエラーが毎回出て、私は「???」となりながら
・・・。
=============================
作るノードは二つ。
2Dノードとして、【Game_Scene】は、ゲームプレイ画面となるノード。
その他のノードとして、【Test_Scene】というノードを作った。
ゲームプレイ画面として表示される【Game_Scene】の、子ノードとして【Test_Scene】を付けたい。
それも、左上にある【+】ボタンの右にある【鎖】ボタンで付けるのではなく、
プログラムの中で子ノードとして付けたい方法。
=============================
親となるノード【Game_Scene】にスクリプトをつける。
<<18行目>>******
preload(”res://~~”)で、他のノード(ここでは【Test_Scene】ノード)を呼び込みしたのを、変数に代入している。ノードそのものを呼び込むので、preload(”res://~~” )内の最後は、~~.tscn を予測変換の中から選ぶ。
代入はできたが、まだ親【Game_Scene】ノードの子ノードとしてくっつけられていない。
<<24行目>>*****
~~.instantiate( )で生成したものを、変数に代入した。
<<25行目>>*****
その変数をadd_child( 変数 )で、 子ノードとして付けられる。
これで、ゲームを実行したときに、親【Game_Scene】の子ノードとして【Test_Scene】が付けられる。
=============================
【Game_Scene】スクリプトでは、列挙型のenum、というものを使用している。
文字列を代入するのは少々負荷がかかるらしい。列挙型は、外見は文字列だが中身は数値。
enum STATE{ #STAGEは、列挙型の変数名。enum 変数名・・・で自分の好きな変数名をつける。
EASY、 #中身は0。コンマをつけること。
NORMAL、 #中身は1。コンマをつけること。
HARD、 #中身は2。コンマをつけること。
FART、 #中身は3。コンマをつけること。
}
行に分けたけど、一列に書いてもいいみたい。
列挙型のくわしいことは、ここでは省略。
コメント
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。