[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
177: 2024/03/24(日)16:34 ID:30RJWthY(1) AAS
使えるは使えるけど、全体の設計とか関数の仕様理解してないと出鱈目なもの作っちゃうな
何でもよしなに作ってもらえるものじゃない
178: 軌道予測 2024/03/24(日)17:12 ID:o0STPUVA(3/5) AAS
まあ質問の仕方っすね
179: 軌道予測 2024/03/24(日)19:25 ID:o0STPUVA(4/5) AA×

180: 軌道予測 2024/03/24(日)19:26 ID:o0STPUVA(5/5) AAS
訂正:ノード2で描画を行ってから、別シーンにしたノード1をadd_childし、描かれたラインとコリジョンの情報を渡すような流れでしょうか
181(1): 2024/03/24(日)23:02 ID:zekcFUEh(1) AA×

182: 軌道予測 2024/03/25(月)07:32 ID:SFtNN9tG(1/5) AAS
>>181
別にしなくていいんですね
line2dで描いたものの頂点をgeometry2dのoffset_polylineで取得して、その頂点をpolygon2dで再描画すりゃいいんですね
ありがとう
183: 軌道予測 2024/03/25(月)08:27 ID:SFtNN9tG(2/5) AAS
polygon2dってコリジョンつけるクラスだと思ってたナリ(*´ω`*)
184: 軌道予測 2024/03/25(月)14:16 ID:SFtNN9tG(3/5) AAS
1つのファイルに何行くらいコード書きます?
文字数増えると訳わからんくなるけど、対策とかないのかな
自分で1日前書いたコードが若わかめになる
185: 軌道予測 2024/03/25(月)14:38 ID:SFtNN9tG(4/5) AAS
godotって変数のアウトライナーってないのかな?
186: 軌道予測 2024/03/25(月)18:03 ID:SFtNN9tG(5/5) AAS
ど忘れしたんだけども、インスタンス化したシーンから、そのシーンの変数にアクセスできないのって普通なんだっけ?
オートロードかグローバル変数にでもしない限りは。
187(1): 2024/03/25(月)22:34 ID:qPdwNxZG(1) AAS
「インスタンス化したシーンから、そのシーンの変数にアクセスできない」のは普通ではない
指示代名詞は誤解の元だからできるだけ使用は避けるべきだと思う
「その」が親のシーンを指しているのならば子インスタンスからはownerプロパティで参照できる
188: 軌道予測 2024/03/26(火)06:21 ID:UiMW4uHO(1/4) AAS
>>187
通常はインスタンス化するだけでグローバル化もなしに、アクセス出来るものですか?
試したらできましたが、できないパターンもあり、違いがよくわからないところです
189: 2024/03/26(火)09:55 ID:RAozxNLR(1) AAS
せめてそのできないパターンのソースを示せよ
190: 軌道予測 2024/03/26(火)11:36 ID:UiMW4uHO(2/4) AAS
どうも
以下のコードなのですが、polygonプロパティにアクセスするとinvalied get indexエラーになるのです
しかし、このシーンをオートロードに指定していることが原因だったようです
それを今から調べます
画像リンク
extends RigidBody2D
var polygon2d_node
var collisionPolygon_node
var polygonArray:PackedVector2Array = [
Vector2(0,0),
Vector2(200,0),
Vector2(200,100)
]
func _ready() -> void:
polygon2d_node = $"Polygon2D"
collisionPolygon_node = $"CollisionPolygon2D"
polygon2d_node.polygon
191: 軌道予測 2024/03/26(火)12:42 ID:UiMW4uHO(3/4) AAS
あーそうか シングルトン的な観点で駄目なのかこれは
192: 2024/03/26(火)16:26 ID:KPzoI6q7(1) AAS
描画するノードをオートロードに配置する設計に問題はあると思うが
そのコードはエラー無く動いたのでオートロードだからエラーになる訳ではないな
それはそれとして子ノードを参照する変数は宣言と初期化を纏めると
総行数が減って、_ready()以外でも自動補完も効くようになってお得
@onready var polygon2d_node := $Polygon2D
@onready var collisionPolygon_node := $CollisionPolygon2D
193: 軌道予測 2024/03/26(火)16:34 ID:UiMW4uHO(4/4) AAS
ありがとう
原因は良くわからないけど、オートロードはなるべく使わずに作っていきます
194: 軌道予測 2024/03/27(水)06:23 ID:E2lXw+Px(1/8) AAS
別シーンのready内で下位ノードを取得している場合、
呼び出す側のシーンにアタッチされた時点で、別シーンのreadyが実行されるから、アタッチされる前に下位ノードを取得しようとするとnullになるんすね(*´ω`*)
195(1): 軌道予測 2024/03/27(水)06:41 ID:E2lXw+Px(2/8) AAS
このスクリプトで別シーンのpolygon2d_nodeを取りたいのですが、add_childするとnullになりますね
対策としてpolygon2d_nodeをonreadyにしてみたのですが、それでもnullですね
この辺理解してませんが、onreadyを使うと同期出来るわけじゃないんですかね
var ins = rididDrawLine_scene.instantiate()
#root_node.add_child(ins)
print(ins.polygon2d_node)
@onready var polygon2d_node = get_node("Polygon2D")
196(1): 2024/03/27(水)07:46 ID:asE13Xlz(1/3) AAS
@onreadyはシーンにぶら下がっているノードの参照を安全に得るために使う
@onready指定された変数に格納されるノードの初期化が完了するまで_readyの実行が待機される
>>195のコードはイメージしてる事は判らなくもないが
print(ins.polygon2d_node)ではinsノードの配下にあるpolygon2d_nodeへのアクセスを試みる事になる
子シーンのインスタンス側で設定されていなければエラーとなる
なので書き直すとこうなる
# シーンをインスタンス化する
var ins = rididDrawLine_scene.instantiate()
# インスタンス化したシーンのノードにアクセスする
var polygon2d_node = ins.get_node("Polygon2D")
print(polygon2d_node)
# インスタンス化したシーンを子ノードとして"root_node"に追加する
#root_node.add_child(ins)
add_childでも悶着ありそうだが眠いので説明は割愛する
root_nodeとはどこを指すのか
rootならばcall_defferdを使うと良いがrootである必要はあるのか
197: 2024/03/27(水)07:48 ID:AFLeB0Kj(1) AAS
Mirrorってなんぞ
198: 2024/03/27(水)07:56 ID:asE13Xlz(2/3) AAS
GodotEngineにラッパーライブラリ被せて簡単に扱えるようにしましたって感じかね?
何かあったら一大事になるから覚える価値あるかは疑問
GodotEngineで十分足りてると思う
199(1): 2024/03/27(水)08:13 ID:asE13Xlz(3/3) AAS
とりあえずダウンロードして動かしてみたが4.3の改造版らしいが何が違うのかわからん
ロードマップらしい
外部リンク:github.com
なんもできとらんのでは?スタートアップ投資目的か?
200: 2024/03/27(水)09:17 ID:s0lKVFz1(1) AAS
最近こういう感じの詐欺まがいのプロジェクト多いな
話題さえかっさらえばあとどうでもなるSNSファースト社会の弊害だな
201: 2024/03/27(水)09:34 ID:njswSuTs(1) AAS
ノードの自動読み込みとノードのシングルトンって使い分けたほうがいい?
郷に入ってはの精神でなんとなく自動読み込みの方使ってるけど
202: 2024/03/27(水)10:09 ID:gGONJtOf(1) AAS
>>199
色々追加はされているがまだ始まったばかりやな
最初のコミットは3/15だしそんなもんやろ
203: 軌道予測 2024/03/27(水)10:16 ID:E2lXw+Px(3/8) AAS
>>196
呼び出す側でget_nodeするんですね
シーンに追加されないと子のreadyも実行されないのかなと
204: 軌道予測 2024/03/27(水)11:36 ID:E2lXw+Px(4/8) AAS
godotエディター上で手書きでステージを描いて行く手法とありますかね?
カーソルでポリゴン編集でもいいんですが
205: 軌道予測 2024/03/27(水)11:54 ID:E2lXw+Px(5/8) AAS
外部リンク:store.steampowered.com
こんな感じのステージです
タイルマップでも難しそうだし、手書きですよね
206: 軌道予測 2024/03/27(水)13:43 ID:E2lXw+Px(6/8) AAS
普通にポリゴン2dでコチコチ打てるやん
ありがとう!!
上下前次1-新書関写板覧索設栞歴
あと 796 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.061s