にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング TIPS (15)画像が入れ替わってる〜

今回は、画像をスクリプトで入れ替える処理をします。

まずはUIからImageを作成します。

f:id:koharuwest:20200501151119p:plain

Hierarchieから行くと、こんな感じになります。
f:id:koharuwest:20200501151203p:plain


画像を2枚assetに読み込みましょう。
f:id:koharuwest:20200501151133p:plain

imageで使うにはテクスチャタイプをspriteに変えて
おきます。
f:id:koharuwest:20200501151232p:plain

早速、source imageに画像を放り投げます。

f:id:koharuwest:20200501151147p:plain

画像はそのまんまのサイズでいいよと。
f:id:koharuwest:20200501151333p:plain

すると、こんな感じで表示できるかと思います。
f:id:koharuwest:20200501151350p:plain

ここで、スクリプトを書いてimageにアタッチしましょう。
ポイントとしては、先頭の方でUIを使えるようにしている
ことと、素材の変数はパブリックにしてるってことですか
ね。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//これがないとUI使えない
using UnityEngine.UI;

public class sample : MonoBehaviour
{
//Source Imageを格納する
Image myImg;

//切り替える素材A
public Sprite SozaiA;

//切り替える素材B
public Sprite SozaiB;
 
void Start()
{
//Imageを取得する
myImg=GetComponent<Image>();
}

void Update()
{
//Aキーで素材A
if(Input.GetKey(KeyCode.A)){
myImg.sprite=SozaiA;
}
//Sキーで素材B
if(Input.GetKey(KeyCode.S)){
myImg.sprite=SozaiB;
}

}
}

もう1度、Hierarchieからimageをクリックするとこうな
っているので、素材AとBに入れ替える画像を割り当てます。

f:id:koharuwest:20200501151412p:plain


実行すると、どうでしょう。AとSを交互に押すと画像が
切り替わります。
f:id:koharuwest:20200501151425p:plain



今日も小ネタですいません。

それではよきプログラミングライフを!
またね。