ランダムな宝の宝箱

こんにちは!

プレイヤーが開くとアイテムが飛び出す宝箱を作りました。これは面白いのですが、出現するアイテムを、候補リストに基づいてランダム、または重み付けで選ばれるようにしたいのです。いくつか試してみましたが、どれもうまくいきませんでした。何かアドバイスや、参考になるチュートリアルを教えていただけないでしょうか? 特に、AGM内でこれをどのように実装すればよいかについてのご意見をお聞かせください。

お時間を割いていただき、ありがとうございます。

「いいね!」 1

これは私が探したものです。これで始められるかもしれません https://youtu.be/Pu-fK8pIeXc?si=BAlbIZSqhXv6tvyk

「いいね!」 1

これのビジュアルスクリプト版を作成すべきですね。
:thinking:

「いいね!」 2

素晴らしいリソースですね、@Stano さん!強くお勧めします。私が「AGM 内」と言ったときは、VS を指すと明記すべきでした。私が行おうとしているのは、ベースの Godot で GDScript を使って作成したゲームを、VS で再現することです。

@Baz さん、お願いします!:smiley:

「いいね!」 1

作業中です!

「いいね!」 2

@Locelaro これを試してみてください。使い方の説明はありませんが、直感的に操作できるかもしれません。

baz_weighted_spawner.gd (19.0 KB)


「いいね!」 2

これで試してみます。結果は後で報告します。ありがとう!

「いいね!」 1

@Baz 数時間いじってみました。このケースでは、GenerateObject アクションを置き換えることができて、非常に効果的でした。唯一の問題点は、先行する “Wait” アクションを無視しているように見えることです。後で少し弄ってみますが、今のところまさに求めていたものです。ありがとうございます!

「いいね!」 1

実は、InvokeScript の仕組み上、意図的な動作かもしれません。OnEnter は、その状態が開始されたときに 1 回だけ実行されることを意味します。他のアクションは反映されません。

ノード自体に生成(spawn)の遅延を設定できるようになり、以前に指定していた待機時間でその遅延を設定できます。ノードに「生成遅延」パラメータを追加するのは問題ありませんか?

「いいね!」 2

@Locelaro これを試してみてください。スポーンディレイが設定されています。アクションで使用する待機時間に設定してください。

baz_weighted_spawner.gd (19.8 KB)

「いいね!」 2

@Baz 完璧です、大成功しました!私がやろうとしていたことと全く同じで、delay float を追加されましたね :grinning_face_with_smiling_eyes: またもやありがとうございます!

「いいね!」 1