void OnTriggerEnter(Collider col) { //Debug.Log ("xxx "+col.tag); if (col.tag == "Player") { if (!col.GetComponent <Controller>().flying&& (RandomVariable.getRandomFish() == 0)) { //GameObject fish = GameObject.Find("Fish[" + colorIdx + "][" + fishIdx + "]"); //fishIdx = (fishIdx + 1) % FishPool.POOL_SIZE; GameObject fish = FishPool.Instance.getFish(); float dir = RandomVariable.getRandomValue(0, 2); fish.transform.position = tr.position; Rigidbody rb = fish.GetComponent <Rigidbody>(); if (tr.position.x < -1) // 洞在左側 { if (dir == 1) { dir = 8; } else if (dir == 2) { dir = 18f; } else { dir = 0; } } else if (tr.position.x > 1) // 洞在右側 { if (dir == 1) { dir = -8; } else if (dir == 2) { dir = 0; } else { dir = -18f; } } else // 洞在中間 { if (dir == 1) { dir = 0; } else if (dir == 2) { dir = 8; } else { dir = -8; } } rb.AddForce(new Vector3(dir, 26, -15), ForceMode.Impulse); rb.isKinematic = false; rb.useGravity = true; StartCoroutine(DestroySelf(rb, dir)); } } }