$/roor/~~ の使い方を復習してみた。

$/roor/~~ の使い方を復習してみた。

◆◆◆ 親となったノードのパラメーターや変数を、扱えそう ◆◆◆

自身以外のノードのパラメーターや変数を扱うのは、ゲーム制作では必須の一つだ。

$/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 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

コメントするためには、 ログイン してください。