【軽量】godot engine【無料】 part4 (945レス)
1-

849: 名前は開発中のものです。 [sage] 2025/09/02(火) 23:33:43.35 ID:HYRahreF(1/3) AAS
>>848
848(3): 生出白液 [] 2025/09/02(火) 22:58:19.74 ID:E0WT+1Oc(1) AAS
ColorRect(ルート)
└── Node2D(result 変数あり)
├── Label
└── Player(CharacterBody2D)ここにエラーが出たコードが書かれている
result変数が書いてあるNode2Dを親、Labelノードが子のコードのシーンがあって、それを親にし、Playerシーンを子にした状態で同じようなエラーが発生した。
Chatgptに詳しく聞いてみたが解決しなかった。ここでPlayerノードにfunc _ready():
print("自分:", self)
print("親:", get_parent())
print("親の親:", get_parent().get_parent())
を書いて実行すると
自分:fish:<CharacterBody2D#29007807814>
親:root:<Window#28470936891>
親の親:<Object#null>
自分:fish:<CharacterBody2D#31323063660>
親:result:<Node2D#31272731991>
親の親:ColorRect:<ColorRect#31239177554>
と出た。2回実行されてそれぞれ違う結果になった理由が分からなかった。シンプルにChatgptの使い方が悪いかもしれないけどあまり使えなかったです
get_parent()とは一つ上のノードを取得する関数なので
図のPlayerでget_parent()を実行したならば結果はColorRectになる
なのでColorRectの子としてPlayerを配置するならがresult変数はColorRectが持っていなければエラーとなる

一回の実行で同じ_redayが二回呼ばれる事は考えにくい
print関数で表示した結果の後ろの数字はノードの固有番号なので違っているならばそれぞれのノードが存在している事になる
ツリー上にCharacterBody2Dが2つ存在していてそれぞれが同じコードが割り当てられていると推測する
この場合、図示されているCharacterBody2DではないCharacterBody2DはNode2Dの配下のはず
ルート直下のCharacterBody2Dを削除すればresultにアクセスできないエラーはなくなる
1-
あと 96 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.009s