Unity3d で一般的に使用されるいくつかのコード

スコア、星などの一時変数を保存する方法は?

PlayerPrefs.GetFloat/GetInt/GetString(SetXXXX)

GetXXX("キー名"、見つからなかった場合に返されるデフォルト値);

key = val フォーム

 

インターフェイスのテキスト コンポーネントを変更するには?

1、 UnityEngine.UI を使用します。

2. public Text オブジェクトを設定し、

3. obj.text = "123123123";

 

ゲームを一時停止する効果を得る方法

Time.timeScale = 0 ; ゲームを一時停止します。メニュー呼び出しによく使用されます

= 1 は回復

 

シーンをリロードする方法

1. UnityEngine.SceneManagement を使用する

2.ビルド設定にシーンを追加する必要があります。詳細は百度で確認できます

3. SceneManager.LoadScene(id number); この関数は同期メソッドであり、シーンが大きすぎるとブロッキングが発生します

3. SceneManage.LoadSceneAsync(id番号) これは非同期メソッドです

 

 

通常は public 属性がゲームパネルに表示されますが、この属性を追加するとゲームパネルに表示されなくなります

[HideInInspector]

パブリックxxxxx;

 

メインカメラの操作方法は?

Camera.main.xxxxxx

 

サウンドを再生するには?

public AudioClip xxx; ゲーム パネルの設定

AudioSource.PlayClipAtPoint(AudioClipオブジェクト、位置情報);

 

マウス操作をトリガーする

 void OnMouseDown()
 void OnMouseUp()

if(Input.GetMouseButtonDown(0)) 左ボタンが押された場合

 

オブジェクトの速度を設定するには?

剛体 component.velocity = xxx;

 

オブジェクトの位置を設定するには?

xxxx.transform.position = originPos; Vector3 の変数

 

スムーズに移動するには?

update に xxx.position = Vector3.Lerp (現在位置、目標位置、時刻) を設定

一般的な時間は値に設定されます *Time.deltaTime

 

値を範囲に制限する方法は?

 Mathf.Clamp(現在値、最小値、最大値)はカメラの範囲を制限できます

 

 

 

線を引くには?

1. LineRender コンポーネントを GameObject に追加する

2. 特定の関数で、LineRender コンポーネントを取得します [public または GetComponent で取得できます]

3. 描画を開始し、線のポイントを設定するだけです

right.SetPosition(0, rigthPos.position); 0 番目のポイント
right.SetPosition(1, transform.position); 1 番目のポイント

他のポイントは後で追加できます。

 

関数の実行を遅らせる方法 (たとえば、0.5 秒後に関数を実行する)

Invoke("関数名", 0.5f);

 

新しいオブジェクトを動的に作成する方法は? 例えば、ブタが死んだ後、スコアと爆発エフェクトが表示されますか?

Instantiate(boom, transform.position, Quaternion.identity); //爆発効果

最初のパラメーターは GameObject で、パブリック パネル プロパティで設定できます。

2 番目のパラメーターは、オブジェクトがスポーンする場所です。

3 番目のパラメータは回転パラメータです。デフォルトの Quaternion.identity のままにしてください。

 

オブジェクトを破壊するには?

Destroy(this.gameObject);

オブジェクトの破壊を遅らせることも可能

Destroy(gameObject,1.5f);

 

2点間の距離を取得する方法は? (ベクトル 3)

Vector3.Distance(rightPos.position, transform.position)

 

ベクトルの長さを取得するには?

Vec.magnitude (2d と 3d の両方)

 

ベクトルを正規化する方法は? (一般的に、回転と制限されたサイズの問題を解決するために使用されます)

Vec3.正規化

 

コンポーネントを有効または無効にする方法は?

sp = GetComponent<SpringJoint2D>();

sp.enable = false/true;

何でも .enable = true/false; にすることができます。

 

オブジェクトを有効または無効にする方法は? [効果は、インスペクターで√をクリックするのと同じです]

GameObject.SetActive(true);

 

スプライトの画像を動的に変更する方法は?

プライベート SpriteRenderer レンダリング。

public Sprite got; //負傷したリソースの画像、ドラッグして UNITY パネルに設定

まず、void Awake 関数でそれを取得する必要があります

render = GetComponent<SpriteRenderer>();

その後、変更できます

render.sprite = 痛い;

 

衝突の瞬間の情報を取得するには?& オブジェクトの相対速度?

 void OnCollisionEnter2D(Collision2D 衝突)

 print(衝突.相対速度.大きさ);

}

 

トリガー時にトリガーされたオブジェクトのタグを取得するには?

void OnTriggerEnter2D(Collision2D collision) 衝突を開始する

void OnTriggerExit2D(Collision2D collision) 衝突を終了する

collision.gameObject.tag は、衝突オブジェクトのタグ名です。

 

アニメーション ステート マシンの変数を変更するには? アニメーション状態間の遷移を実現するには?

1. 最初にアニメーション コンポーネントを取得する

2.anim.SetBool("isPause",true); ここでは、追加したステートマシンの変数の型に応じて 4 つの関数があります

おすすめ

転載: blog.csdn.net/dyyzlzc/article/details/108954320