Unityでゲーム、アプリ開発

Unityで初めてゲームやアプリを作る人のための支援ブログです。

Unity Objectにマウスカーソルを乗せると色が変化する方法 初心者編11

今日も夜中からの投稿でゴザイマス!
サザエではございませんよ!笑笑

....
実家帰りますね!!

世の中をしらけさせるのが
とんでもなく得意なゆうきやんでっす!
思考が飛びすぎて相手に伝わらなくてシーン。

そんな時の切り返しの言葉は『俺帰るわ!!』
大体上手くいきます笑笑

って事で本題に入っていきましょう!


Objectにマウスカーソルを乗せると色が変化する方法

f:id:Phoenix9056:20200229224458j:plain

今回の記事は何の参考に使えるか、スタートボタンの
近くに行ったら色が変わる
とか、シューティングなんかで言ったら
標準合わせたら色が変わるなんてのにも使えそうです。

POINT重要になってくるFunction(関数)は、
Objectの上にカーソルが乗った時に発生するOnMouseOvere()イベント。

次に、マウスカーソルがObjectから離れた場合に発生する
OnMouseExit()イベントです。

それでは、プロジェクトを3Dで開いていきましょう。


今回は簡単にズバッと説明していきますね!

f:id:Phoenix9056:20200330014302j:plain

まずHierarchyの①のをクリックして、
3D Object⇨②のSphereを作成してください。

次に、③のMaterialをProject内の好きな所で、
右クリックCreate⇨Materialをクリックして作成してください。
名前はBuleとつけましょう。
そして④のMaterialInspectorからクリックして色を青色に設定してください。

次に⑤のスクリプトを作成します。
Project内の自分の好きな所で、右クリック⇨Create⇨C#Scriptを選択して作成します。
名前はChangeColorにしてください。

次のコードをコピー&ペーストするか、自分で同じように記述してください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeColor : MonoBehaviour
{
    //GameObject型の変数sphereを宣言します。
    GameObject sphere;


    void Start()
    {
        //Sphereと言う名前のGameObjectにアクセスして変数sphereで宣言します。
        sphere = GameObject.Find("Sphere");
        
    }

    //マウスカーソルがSphereに乗った時の処理
    private void OnMouseOver()
    {
        //Sphereの色を赤色に変化させます。
        sphere.GetComponent<Renderer>().material.color = Color.red;
    }

    //マウスカーソルがSphereの上から離れた時の処理
    private void OnMouseExit()
    {
        //Sphereの色が元の青色に戻ります。
        sphere.GetComponent<Renderer>().material.color = Color.blue;
    }

}

最後に⑤で作ったスクリプトを②のSphere
ドラッグ&ドロップして完成です。

再生してみましょう!!

f:id:Phoenix9056:20200330020423g:plain

こんな感じで色が変わっていたら成功です!!


どうも!ご視聴いただきサンキューです!


※初心者編は下記カテゴリより参照してください。
phoenix9056.hatenablog.com

※Unityの学習をしていきたい方は下記カテゴリを参照してください。
phoenix9056.hatenablog.com

※オススメアセットの紹介などは下記カテゴリを参照してください。
phoenix9056.hatenablog.com