2014年7月13日日曜日

他のクラスの変数を参照する

unityで他のクラスの変数を参照する方法です。

例えば、ballクラスがあるとします。

public class Ball : MonoBehaviour{
    public int num;
}
num変数を参照したい場合、参照したいクラスで以下を記述
FindObjectOfType<Ball>().num

もちろんpublicにする必要があります。

2014年3月2日日曜日

unity キーボードからの入力を受け取る

unity キーボードからの入力を受け取るです。

// キーボードの↑が押された(上がおされた1frameのみ呼ばれる)
if (Input.GetKeyDown (KeyCode.UpArrow)){
   print ("up arrow key is held down");
}

// キーボードの↑が押されている(↑が押されている)
if (Input.GetKey (KeyCode.UpArrow)){
   print ("up arrow key is held down");
}

// キーボードの↑がはなされた(上がはなされた1frameのみ呼ばれる)
if (Input.GetKeyUp (KeyCode.UpArrow)){
   print ("up arrow key is held down");
}


メソッドにより、三つの状態を取得することができます。

まずは、keyが押された1フレームのみ有効な

GetKeyDownメソッド



keyが押されている状態を示す。

GetKeyメソッド

keyがはなされた状態を1フレームのみ示す

GetKeyUpメソッドです。



キーボードに対応した、Keyのリファレンスは、

http://docs.unity3d.com/Documentation/ScriptReference/KeyCode.html

を参照してください

unity UpdateメソッドとFixedUpdateメソッドの違い

unity UpdateメソッドとFixedUpdateメソッドの違いです。

Updateメソッドは更新毎に呼ばれるメソッドですが、
呼ばれる間隔が一定ではありません。

FixedUpdateメソッドは呼ばれる間隔が完全に一致します。


なので、FixedUpdateを使った方が... 参考
 

   void FixedUpdate(){
      // 一定間隔で呼ばれる
   }

   void Update(){
      // 呼ばれる間隔が異なる
   }

unity awakeメソッド startメソッドとは

unity awakeメソッド startメソッドの解説


 
faisojdfoi

2014年2月9日日曜日

unity プレハブにおいたパーティクルを消去する方法

particle Systemで作ったパーティクルを消去する方法です。


以前のバージョンでは、パーティクルの演出が終わった後に自動でデリートするやり方が
ありましたが、14/2/8現在では、なくなっているので、スクリプトで実装する必要があります。

まずは、スクリプトを作ります。

if(!paricleSystem){
   if(!paricalSystem.IsAlive()){
      Destory(this.gameObject);
   }
}

particleSystemは、パーティクルで生成したオブジェクトを管理するクラス。
それが生きていなければデリートするというものです。

では、プレハブにあるパーティクルシステムと連動させましょう。

プレハブにある作成したパーティクルを選んで、addComponentを選んで、
さきほど作成した。スクリプトを選択してください。

これで、パーティクルの処理が終わったときに自動でオブジェクトが消去されます。

2014年2月8日土曜日

unityのisKinematicについて

unityのphysicsの中に入っているRigidbody。
この中に入っているis Kinematic外部からの影響をうけなくなる効果があります。

また、isKinematicにすることにより、Rigidbodyのプロパティから、オブジェクトの座標
をプログラム上で操作することができます。