Unityはよく探しているものを保管しています
5725 ワード
この文章はcartzhangによって作成され、転載は出典を明記してください.すべての権利は保持されます.記事リンク:http://blog.csdn.net/cartzhang/article/details/50483316 作者:cartzhang
常に必要で、常に探します!自分で記録して!
1.カメラ線
2.効率の向上
なるべく使わないでください.
3.InvokeReaptingの内部実装
4.CoroutineとInvokeReapting
マルチスレッドではありません.しかし、彼は自分のスタック、ローカル変数、命令ポインタを持っていて、他の協同プログラムとグローバル変数などの情報を共有しています.マルチプロセッサの下では、マルチスレッドが同時に実行され、協同プログラムが、ある時点で1つ実行されます.
担当するタスクがある場合は、フレームレートが非常にかかります.協同またはInvokeReaptingを使用することを考慮します.単純なタスクであれば、協同またはInvokeReaptingで使用します.これは効率を向上させません.しかし、あまり堅苦しくする必要はありません.効率を低下させる可能性がありますが、コードはより簡単で実用的です.
協同は時間系列を処理する良い方法である.スレッドでも非同期でもありません.コラボレーションスクリプトがアクティブになっていないか、オブジェクトがアクティブになっている場合は使用できません.共同帰還時間のWaitForSecondsはTime.timeScaleに依存する.
InvokeまたはInvokeReaptingを使用すると、デバッグが困難になります.
5.共通属性
6.MenuItemショートカットの設定
メニューショートカットの設定は、単独で使用することも、組み合わせて使用することもできます.
AddForceとvelocityの違いは何ですか?
これは力と速度の違いです.一定の力を加えると、オブジェクトは加速度を取得し、加速して前進します.Velocityを直接使用すると、速度が安定し、一定値に移動します.
そのボタンが押されていることを確認します.
問題があれば、いつでも連絡してください.どうもありがとう!
常に必要で、常に探します!自分で記録して!
1.カメラ線
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position = ray.GetPoint(10.0f);
transform.LookAt(ray.GetPoint(10.0f));
2.効率の向上
GetComponent(), FindObjectByType() and Instantiate()
なるべく使わないでください.
3.InvokeReaptingの内部実装
{ , ,WaitForSeconds(time) { Invoke }
}
4.CoroutineとInvokeReapting
マルチスレッドではありません.しかし、彼は自分のスタック、ローカル変数、命令ポインタを持っていて、他の協同プログラムとグローバル変数などの情報を共有しています.マルチプロセッサの下では、マルチスレッドが同時に実行され、協同プログラムが、ある時点で1つ実行されます.
担当するタスクがある場合は、フレームレートが非常にかかります.協同またはInvokeReaptingを使用することを考慮します.単純なタスクであれば、協同またはInvokeReaptingで使用します.これは効率を向上させません.しかし、あまり堅苦しくする必要はありません.効率を低下させる可能性がありますが、コードはより簡単で実用的です.
協同は時間系列を処理する良い方法である.スレッドでも非同期でもありません.コラボレーションスクリプトがアクティブになっていないか、オブジェクトがアクティブになっている場合は使用できません.共同帰還時間のWaitForSecondsはTime.timeScaleに依存する.
InvokeReapting
/*
void (string methodName, float time, float repeatRate)
{
- Find the method called "methodName" in the calling assembly and store it.
- Wait "time" seconds by yielding on WaitForSeconds(time)
Loop until the user cancels this action
{
- Invoke the stored method
- Wait "repeatTime" seconds by yielding on WaitForSeconds(repeatRate)
}
- Remove the method info record from storage.
}
*/
InvokeまたはInvokeReaptingを使用すると、デバッグが困難になります.
5.共通属性
ContextMenu, 。
ContextMenuItemAttribute, 。[ContextMenuItem("Reset", "ResetName")]
HeaderAttribute, :[Header(" ")]
MultilineAttribute,[MultilineAttribute]
RangeAttribute,
RequireComponent, ,[RequireComponent(typeof(Rigidbody))]
[Space(10)], , 。
[Tooltip("This year is 2015!")], , 。
6.MenuItemショートカットの設定
[MenuItem("Tools/New Option %#a")]
private static void NewMenuOption()
{
}
メニューショートカットの設定は、単独で使用することも、組み合わせて使用することもできます.
% – CTRL on Windows / CMD on OSX
# – Shift
& – Alt
LEFT/RIGHT/UP/DOWN – Arrow keys
F1…F2 – F keys
HOME, END, PGUP, PGDN
AddForceとvelocityの違いは何ですか?
これは力と速度の違いです.一定の力を加えると、オブジェクトは加速度を取得し、加速して前進します.Velocityを直接使用すると、速度が安定し、一定値に移動します.
そのボタンが押されていることを確認します.
public void DetectPressedKeyOrButton()
{
foreach (KeyCode kcode in Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKeyDown(kcode))
{
Debug.Log("KeyCode down: " + kcode);
}
}
}
問題があれば、いつでも連絡してください.どうもありがとう!