void Start() { PlayerScript = GameObject.FindGameObjectWithTag("Player").GetComponent <NinjaMovementScript> (); //Start the distance checks. (When player gets close enough, Wake up. When he gets far enough, Go back to sleep. InvokeRepeating("CheckPlayerDistance", 0.5f, 0.5f); MySpriteOriginalScale = MySpriteOBJ.transform.localScale; MySpriteOBJ.transform.localScale = new Vector3(-MySpriteOriginalScale.x, MySpriteOBJ.transform.localScale.y, 1f); ParticleTrail.emissionRate = 0; }
void Start() { enemy_fsm.addState("Idle", idelState()); enemy_fsm.addState("Stroll", strollState()); //闲逛 enemy_fsm.addState("Search", searchState()); enemy_fsm.addState("Die", dieState()); enemy_fsm.init("Idle"); PlayerScript = GameObject.FindGameObjectWithTag("Player").GetComponent <NinjaMovementScript>(); }
//如果死亡,执行死亡,在复活点复活 void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.tag == "Player") { if (NinjaScript == null) { NinjaScript = GameObject.FindGameObjectWithTag("Player").GetComponent <NinjaMovementScript>(); } NinjaScript.NinjaDies(); } }
// Use this for initialization void Start() { controller = GetComponent <CharacterController>(); theRigidbody = GetComponent <Rigidbody>(); moveDistance = new Vector3(0, 0, 0); base.Start(); PlayerScript = GameObject.FindGameObjectWithTag("Player").GetComponent <NinjaMovementScript>(); ParticleTrail.emissionRate = 0; InvokeRepeating("CheckPlayerDistance", 0.5f, 0.5f); MySpriteOriginalScale = MySpriteOBJ.transform.localScale; MySpriteOBJ.transform.localScale = new Vector3(-MySpriteOriginalScale.x, MySpriteOBJ.transform.localScale.y, 1f); aiFsm.addState("sleep", Sleep()); aiFsm.addState("awake", Awake()); aiFsm.addState("dead", Dead()); aiFsm.init("awake"); }