Nest = Instantiate(skeleton_N, Vector3(-3, 1.0f, 5.0f),
Quaternion.identity);
Nest.name = "ske_N";
カラーネーム 147色
16進数表記なのでちょっと変換するのがちょっと面倒だけどいちいち画面見ながら色指定するよりよっぽどマシ
メインプログラム部分は毎回だいたい同じなので、コピペで始められるようにしとく
(Unity5.3.2f1時点)
#pragma strict
var GameTime : float = 0.0f;
private var DebugMode : int = 0;
static var GameStep : int = 0;
private var Player : GameObject;
private var Enemy : GameObject;
private var PlAni : Animator;
var PlayerVoice1 : AudioClip;
private var MainCamera : Camera;
private var GameMessege : UI.Text;
private var UITextA1 : UI.Text;
private var UIImageA1 : UI.Image;
private var BGMSource : AudioSource;
private var SESource : AudioSource;
var DspButton : int = 0;
function Button1(){
if(DspButton){
//PlAni.SetBool("a1", true);
//SESource.PlayOneShot(AtkVoice1, 1.0f);
}
} //print("Button1");
private function initValue(){
DebugMode = 1;
GameStep = 0;
if(DebugMode) GameStep = 0;
//Player = GameObject.Find("player").gameObject;
//PlAni = GameObject.Find("player").GetComponent(Animator);
//UITextA1 = GameObject.Find("Canvas/Text1").GetComponent(UI.Text);
//UIImageA1 = GameObject.Find("Canvas/Image1").GetComponent(UI.Image);
}
function Start(){
initValue();
}
function Update(){
GameTime += Time.deltaTime;
if(DebugMode){
}
if(GameStep == 0){
}
else if(GameStep == 1){
}
else if(GameStep == 2){
}
else if(GameStep == 3){
}
else if(GameStep == 4){
}
else if(GameStep == 5){
}
else if(GameStep == 6){
}
else if(GameStep == 7){
}
else if(GameStep == 8){
}
else if(GameStep == 9){
}
else if(GameStep == 10){
}
}
function OnGUI(){
if(DebugMode){
GUI.Button(Rect(Screen.width/2 - Screen.width/10*5, Screen.height/8*0,
Screen.width/20, Screen.height/20),GameStep.ToString());
GUI.Button(Rect(Screen.width/2 - Screen.width/10*4.5,
Screen.height/8*0, Screen.width/20*3,
Screen.height/20),GameTime.ToString());
GUI.Button(Rect(Screen.width/2 - Screen.width/10*3, Screen.height/8*0,
Screen.width/20*3, Screen.height/20),Time.frameCount.ToString());
if(GUI.Button(Rect(Screen.width/2 - Screen.width/10*5,
Screen.height/8*0.8, Screen.width/20*2, Screen.height/20), "Restart"))
Application.LoadLevel(0);
}
if(GameStep == 0){
}
else if(GameStep == 1){
}
else if(GameStep == 2){
}
else if(GameStep == 3){
}
else if(GameStep == 4){
}
else if(GameStep == 5){
}
else if(GameStep == 6){
}
else if(GameStep == 7){
}
else if(GameStep == 8){
}
else if(GameStep == 9){
}
else if(GameStep == 10){
}
}
ゲームオブジェクトNTManagerに登録してあるスクリプトのpublic関数Test2()を、
ゲームオブジェクトShipに登録してあるスクリプトの中から呼び出す場合
NTManagerスクリプト側
print("aaa");
}
Shipスクリプト側
public var NTMan :
GameObject;
NTMan =
GameObject.Find("NTManager").gameObject;
からの
NTMan.SendMessage("Test2");
ゲームオブジェクトNTManagerに登録してあるスクリプトのpublic関数Test()を、
ゲームオブジェクトShipに登録してあるスクリプトの中から呼び出す場合
NTManagerスクリプト側
public function Test(){
return(isMaster);
}
Shipスクリプト側
public var NTMan : GameObject;
NTMan = GameObject.Find("NTManager").gameObject;
からの
print(NTMan.GetComponent(NTManager).Test());
※いつものSendMessege()では返り値は返ってきませんという噂※
よく使う変数をいちいちDebug.Log();してらんないので常時画面に表示するようにする
var gameStep : int = 0;
var DebugMode : int = 0;
function OnGUI() {
if(DebugMode){
GUI.Button(Rect(Screen.width/2 - Screen.width/10*5, Screen.height/8*0,
Screen.width/20, Screen.height/20),gameStep.ToString());
}
}
var rndi : int = Random.Range(1, 10);
int:最小以上、最大<未満>の値
var rndf : float = Random.Range(0.0f,
10.0f);
float:最小以上、最大<以下>の値
参考:Unityでスローモーション
Time.timeScale = 0.5f;
オブジェクトのrigidbodyのInterpolateにチェックを入れるとスローモーションでもカクカクしない
方向(ベクトル)
var distanceV : Vector3 =
Skeleton.GetComponent(Rigidbody).transform.position -
Player.GetComponent(Rigidbody).transform.position;
方向(単位化)
var distanceVN : Vector3 =
distanceV.normalized;
距離
var distance : float =
distanceV.sqrMagnitude;
ゲーム進行用タイマー(フレームレート込)
var GameTime : float = 0.0f;
GameTime += Time.deltaTime;
フレームを取る場合は
if((Time.frameCount % 120) == 0){
}
とかなんとか
ミサイルをプレイヤーに向かせ続けるとか(フレームまたがってじんわり変化する系)
var Player : GameObject;
Player = GameObject.Find("Dimples").gameObject;
this.transform.rotation = Quaternion.Slerp(this.transform.rotation,
Quaternion.LookRotation(Player.transform.position - this.transform.position),
0.1f);
※自分自身はthis.***
・(例)プレイヤーオブジェクト側で検知した当たりを親側に渡す
★プレイヤーオブジェクト側
var Master : GameObject;
function Start () {
Master =
GameObject.Find("GameMaster").gameObject;//←親のオブジェクトを取得
}
function OnCollisionEnter(collision :
Collision){
Master.gameObject.SendMessage("setDamage",
collision);//←メッセージで親側にコリジョンごと渡す
if(collision.gameObject.name ==
"Floor"){
//Debug.Log("Hit the
floor");//←プレイヤー側でなにかしたい場合
}else if(collision.gameObject.name ==
"Wall"){
//Debug.Log("Hit the wall");//←プレイヤー側でなにかしたい場合
}
}
★管理側
function setDamage(collision :
Collision){
print(collision.gameObject.name);
}