Spriteを条件によって表示非表示させることについて

8 views
Skip to first unread message

MM

unread,
Mar 9, 2026, 1:10:52 AM (6 days ago) Mar 9
to 宴ユーザーグループ
Windows11
Unity 6000.3.10f1
宴 4.2.6

お世話になっております。
Sprite表示について、アドバイスをいただきたく質問させていただきました。

現在、特定条件を満たすと、複数の画像選択ボタンが表示されるシナリオを作っています(それぞれのボタンが表示される条件は、ボタンにより異なります)。

条件を満たしていない場合、ボタンが出る箇所に選択不可を知らせるスプライトを表示させたいのですが、スプライトに表示非表示の条件を指定させてやる方法はありますでしょうか?

やりたいこととしては

・選択肢ボタンA、ボタンB、ボタンCが並ぶ
・それぞれA==TRUE、B==TRUE、C==TRUEを満たすと選択肢ボタンが表示される
・FALSEの場合はスプライトA、スプライトB、スプライトCが表示される

といったものです。

Ifで試してみたのですが、A==FALSE、B==TRUE、C==TRUEだった場合、スプライトAのみが表示されて、BとCは参照されずにEndIfになるといった具合で、Ifでやるのは向いていないのかなと考えております。
(私のやり方に問題があるかもしれませんが、Ifを複数使うのもうまく表示されませんでした)

スプライトそれぞれに表示非表示の条件を付ける方法、あるいは上記のやりたいことに向いている方法がありましたら、ご教示いただけますと大変助かります。
よろしくお願いいたします。

マッドネスラボ

unread,
Mar 9, 2026, 2:56:34 AM (6 days ago) Mar 9
to 宴ユーザーグループ
Selectionコマンドは連続で使用する必要があるので、Selectionコマンドの間にSpriteコマンドをなどが混ざると破綻してしまうので、そのせいかもしれません。
特に、Ifの中にSelectionコマンドは混ぜないでください。

ifを使って先に選択不可を知らせるスプライトコマンドを全て書いてから、Selectionコマンドを書くようにしてください。

>Ifを複数使うのもうまく表示されませんでした
下記のようにすれば大丈夫だと思うのですが、ダメだったでしょうか。
何度も書く箇所があって間違えやすいようでしたら、マクロを使ってSpriteIfみたいなものを作ったほうが安定するかもしれません。


If           A==FALSE
Sprite      スプライトA
Endif

If           B==FALSE
Sprite      スプライトB
Endif

If           C==FALSE
Sprite      スプライトC
Endif


上記の要領でスプライト表示コマンドを書いたあとに、選択肢コマンドを書いてください。
SelectionコマンドにはArg2に表示の条件式(A==TRUEなど)を設定可能なので、それを使用してください。



2026年3月9日月曜日 14:10:52 UTC+9 MM:

MM

unread,
Mar 9, 2026, 11:58:43 AM (6 days ago) Mar 9
to 宴ユーザーグループ
ありがとうございます、ご教示いただいた内容で修正したところ、無事表示されました!
いつも丁寧なサポートをいただき、とても助かっております。
ありがとうございました。

2026年3月9日月曜日 15:56:34 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages