Gamerch
あかさ

関数1

最終更新日時 :
1人が閲覧中
作成者: ユーザー98083
最終更新者: ユーザー98083

関数1

簡単なもの

ログ表示(文字や変数)
方向(X,Y,Z)
new Vector3()の代わり
拡大(物,倍率,速度)
速度5 → 1秒でほぼ目標に近づく
回転(物,角度XYZ,速度)速度は一秒間に動く角度
向く回転(物,方向,速度)
テキスト表示(物,文字や変数)
表示(物)
非表示(物)
画像変更(物,スプライト)
Spriteを使う
物体画像変更(物,マテリアル)
Materialを使う

使うときはusing static 関数1;最初に書く。

そうすれば関数1.ログ表示と書かずにログ表示だけで使うことができる。



using UnityEngine;

using UnityEngine.UI;

using UnityEngine.SceneManagement;

using System;


public static class 関数1

{

static public void ログ表示<T>(T A)

{ Debug.Log(A); }

public static Vector3 方向(float 右, float 上, float 奥)

{ return new Vector3(右, 上, 奥); }

public static Vector3 座標(float 右, float 上, float 奥)

{ return new Vector3(右, 上, 奥); }


public static Quaternion 回転方向(float 右, float 上, float 奥)

{ return Quaternion.Euler(右, 上, 奥); }

static public void 拡大(GameObject A, float B, float 速度 = 5)

{

A.transform.localScale = Vector3.Lerp(

A.transform.localScale,

new Vector3(B, B, B),

Time.deltaTime * 速度);

}


static public void 回転(GameObject A, Vector3 B, float 速度 = 90)

{

if (B != Vector3.zero)

{

A.transform.rotation = Quaternion.RotateTowards(

A.transform.rotation,

Quaternion.Euler(B),

速度 * Time.deltaTime

);

}

}


static public void 向く回転(GameObject A, Vector3 B, float 速度 = 0.1f)

{ A.transform.rotation = Quaternion.Slerp(A.transform.rotation, Quaternion.LookRotation(B), 速度); }


static public void テキスト表示<T>(GameObject A, T B)

{ if (A.GetComponent<Text>() != null)

A.GetComponent<Text>().text = B.ToString();

if(A.GetComponentInChildren<Text>()!=null)

A.GetComponentInChildren<Text>().text= B.ToString();

}


static public void 非表示(GameObject A) { A.SetActive(false); }

static public void 表示(GameObject A) { A.SetActive(true); }

static public void 画像変更(GameObject A, Sprite B) { A.GetComponent<Image>().sprite = B; }


static public void 物体画像変更(GameObject A, Material B) { A.GetComponent<Renderer>().material = B; }



public static void 削除(GameObject A, float 秒数 = 0)

{

UnityEngine.Object.Destroy(A, 秒数);

}


public static GameObject 物体生成(GameObject 物, Vector3 位置, Quaternion 回転)

{ return UnityEngine.Object.Instantiate(物, 位置, 回転); }


static public void シーン遷移(string 名前)

{ SceneManager.LoadScene(名前);}


static public int ランダム(int A,int B)

{ return UnityEngine.Random.Range(A, B+1);

}


static public float ランダム(float A, float B)

{

return UnityEngine.Random.Range(A, B);

}



public static void クリック時(GameObject ボタン, Action 処理)

{

Button b = ボタン.GetComponent<Button>();

if (b == null)

{

Debug.LogError("Button コンポーネントが見つかりません: " + ボタン.name);

return;

}

b.onClick.AddListener( () => 処理());

}


}


説明

DestoryはgameObjectのものではなく UnityEngine.Objectのもの

A.DestroyではなくObject.Destroyを使う。


回転はQuaternion.Euler(0, 90, 0)かQuaternion.identityを使う


回転で(0,0,0) の方向を向くというのはできない。向く方向の矢印が表示されないので

エラーになる可能性がある。


Instantiate() は UnityEngine.Object.Instantiate() の省略形。

MonoBehaviour の中なら省略できるけど、static メソッドでは省略できない

コメント (関数1)
  • 総コメント数0
この記事を作った人
やり込み度

Wikiにゲームが紐づいていません

編集者紹介

未登録

注目記事
ページトップへ