[UI] イメージ画像の変更

記事作成 2019年6月
PlayMaker 1.9.0 / Unity 2018.2.6f1

UIのイメージ画像を別のものに置き換えます。
一定時間で、ランダムに設定しなおしています。

----------------------------------------------
準備として、新たな[Image]と、イメージ変更の状態遷移を付ける
空オブジェクト「emp UI_Image変更」を作ります。

----------------------------------------------
イメージは適当に配置します。

----------------------------------------------
イメージはスプライト画像を使います。
プロジェクトに入っているどんなものでもいいですが、作例の3枚は
ここにおいておきます。[Texture Type] はSprite(2D and UI) に

image1-3.zip

元々の大きさで表示したければ、[Image]のインスペクタで
Width Hight を設定します。

----------------------------------------------
「emp UI_Image変更」のノード、アクションはこのように。
[Send Random Event] でランダムに選択肢1-3へ分岐します。

[Weight] は選択比率で今は使いませんが、差をつけたければ
それぞれ 0.5 0.3 0.2 などと設定します。


イメージ1-3の「状態」はそれぞれ、単にイメージ画像の設定です

*追記 2020 0708
[U Gui Image Set Sprite]を使用するためには、
https://hutonggames.fogbugz.com/default.asp?W1192 から
Package for uGUI Proxy With Full set of Actions  をDL インポートしてください。

そうでなければ、同様の[ UI Image Set Sprite ]のアクションを使用してください。


Wait は表示した画像が切り替わるまでの、維持時間です。

これで、はじめの動画のように動作します。

(選択画像が3つぐらいなら、この例のようなやり方でもよいですが、
 もっと増えた場合は、選択オブジェクト自体を切り替える方法にしたほうが
 スッキリするかもしれません。)

----------------------------------------------
@おまけ
イメージ画像のランダム選択は上のようにできました。
しかし、これでは同じ画像が連続して出現してしまうことを、防げません。

同じイメージ画像を選択しないようにするには、どうすればよいのか。
やり方はいろいろあるはずですが、とりあえずこんな風に。

はじめの状態のみを変更しています。
[Random Int] で1-3の整数をランダムに選択し [int ランダム値] に格納。
[Inclusive Max] [No Repeat]をチェックすることで、選択の最大数 3 を含み
また、同じ数を連続して選択しないようにすることができます。

[Int Swichi] で選択した数値に応じて分岐します。


これで、同じ画像が連続することなく、イメージ変更できます。


0 件のコメント:

コメントを投稿