Unityの2D制作で、スプライトレンダラーを取得して、スプライトを変えられる仕組みを作ってみましょう。
今回は、色違いでpngファイルを2つ用意して、スクリプト側からデータを切り替えます。
クリックすると、黄色から赤色のヘリコプターに変わります。
関連記事:
スプライトレンダラーを取得してスプライト名を表示
レイヤーの順序をスクリプトから変える
クリックでスプライトを変更する
2種類のpngファイルをインポート。
それぞれヒエラルキービューに、ドラッグ&ドロップします。
プロジェクトビューに、Prefabフォルダを作り、2つのデータをPrefab化します。
初期表示させておくHeli1のオブジェクトは残し、Heli2は削除しました。
ChangeSprite.csを作成して、オブジェクトに追加します。
ChangeSprete.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChangeSprite : MonoBehaviour { public SpriteRenderer Heri1_SR; public SpriteRenderer Heri2_SR; void Start() { Heri1_SR = GetComponent<SpriteRenderer>(); } void Update() { if (Input.GetMouseButtonDown(0)) { Heri1_SR.sprite = Heri2_SR.sprite; } } } |
2番目のフィールドに、差し替えたいスプライトのPrefabを入れます。
ゲームプレイして、クリックしてみましょう。
スプライトレンダラーを取得され、もう一方のスプライトに切り替わります。