#概要
題の通り、UnityでScratchのコスチュームっぽく画像を変える方法を思いついたのでというお話。
Unityで見た目を変えようとすると結構色々なサイトでアニメーションを使えって言われるんですよね。
使えれば苦労しないわ!!!( ゚д゚ )クワッ!!
というわけでScratchのコスチュームみたいにあらかじめ登録した画像からテクスチャを書き換える方法を紹介しようかなと思います。
ScratchからUnityに変えようかな....と思っていたりする方の参考になれば幸いです。
#Scratchのコスチュームってなんだっけ?
Scratchから離れていた人は
「Scratchのコスチュームってなんだっけ?」
なんて言う人もいるかも。というわけでそれを一旦思い出していただきます。
これですね。
↑こんな感じのブロックを使って画像を変えていたと思います。
これをUnityで似たような感じにやっていくわけです。
#実際にUnityでやっていく
C#で次のコードを書いて下さい。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class sample : MonoBehaviour {
SpriteRenderer spriteRendrer;
public Sprite[] costume = new Sprite[1];
void Start(){
spriteRendrer = this.gameObject.GetComponent<UnityEngine.SpriteRenderer> ();
}
}
で、これを書いたらコスチューム機能をつけたいゲームオブジェクトにアタッチ。
そうするとインスペクターウィンドウに↑みたいなのが増えてると思います。
これの「▶Costume」をクリックして開いて下さい。
するとこんなのが出てきます。
- Size:使用するコスチュームの数をここで指定します。あとからでも変更できます。
- Element (数字):使用するコスチュームのIDみたいなものです。Scratchっぽく言うと「◯番目のコスチューム」ってやつです。
これで前準備は完了です!
#コスチュームを変更してみよう!
さてさて、それでは実際に使ってみましょう!
さっきのところでコスチュームの数を指定し、Element (数字)の部分に使用したい画像をドラッグ&ドロップして下さい。
例↓
これで使用したいコスチュームを登録できました。
ではコスチュームを変更するためのコードを書かないとですね!(終わり際になってテンション上がってます)
spriteRendrer.sprite = costume[0];
はい。これがコスチュームを変更するためのコードです。
上のコードのcostume[0]の数字の部分には変更したいコスチュームのElement (数字)のところに書いてある数字を入れましょう。
一行だけで良いんです。楽でいいでしょ。
このコードをコスチュームを変更したいところに突っ込めばOKです。
お疲れさまでした。