Unity フワフワ動くボタンの作成

 

 

 

 

 

※この説明は、UniTaskの使用が前提となります。

UniTaskについては、以下のページを参照してください。

Unity UniTaskによる処理の待機

 

みてー。

Unityのボタン自体をコードで動かす方法を考えてみた。

 

 

 

 

 

へー。

ボタンを押したら、アクションするのではなくて、最初から動いている感じですか。

 

 

 

 

うん。

作ってみるね。

 

 

 

 

まずは、2Dの方で新しいプロジェクトを作成して、ヒエラルキーウインドウの左上から「UI」→「Button - TextMeshPro」を押してボタンを作成する。

 

 

 

 

 

 

 

 

「Import TMP Essentials 」と「Import TMP Examples and Extras」は両方インポートする。

 

 

 

 

 

 

 

 

 

作成したボタンを中央に配置するために、InspectorのPosXとPosYを0に変更する。

 

 

 

 

 

 

 

 

 

 

下のようにボタンに名前をつける。今回は「FuwaFuwaButton」っていう名前にした。

この名前は、コードで指定する時に使うので重要。

 

 

 

 

 

 

コードについては、以下のように作成したよ。

 

 

 

 

【FuwaFuwa001.cs】

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cysharp.Threading.Tasks;//UniTaskを使うために必要

public class FuwaFuwa001 : MonoBehaviour
{
    void Start () 
    {
        ugoki001();               
    }

    async void ugoki001()
    {
        for(int i = 0; i < 100; ++i)
        {
            Vector2 iti = GameObject.Find("FuwaFuwaButton").transform.position;
            GameObject.Find("FuwaFuwaButton").transform.position = new Vector2(iti.x + 0.15f, iti.y + 0.05f);
            await UniTask.Delay(10);
        }
        ugoki002();
    }

    async void ugoki002()
    {
        for(int i = 0; i < 100; ++i)
        {
        Vector2 iti = GameObject.Find("FuwaFuwaButton").transform.position;
            GameObject.Find("FuwaFuwaButton").transform.position = new Vector2(iti.x - 0.1f, iti.y + 0.03f);
            await UniTask.Delay(10);
        }
        ugoki003();
    }

    async void ugoki003()
    {
        for(int i = 0; i < 100; ++i)
        {
        Vector2 iti = GameObject.Find("FuwaFuwaButton").transform.position;

            GameObject.Find("FuwaFuwaButton").transform.position = new Vector2(iti.x - 0.05f, iti.y - 0.08f);
            await UniTask.Delay(10);
        }
        ugoki001();
    }
}
  

 

 

スクリプトを実行するために、空のオブジェクトを作成して、そこにアタッチする。

 

 

 

 

 

 

 

 

それから、再生ボタンをクリックするとふわふわ動くよ!

 

 

 

 

 

 

 

 

 

ゲームを盛り上げる一つのエフェクトとして使えそうですね。

 

 

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】