public void CreateTail(Vector3 dir) { tail tail = ObjectPoolManager.instance.GetTail(); if (first) { child = tail.gameObject; tail.parent = gameObject; first = false; parentTail = tail.gameObject; tail.transform.position = gameObject.transform.position + new Vector3(dir.x * padding, dir.y * padding, 0); } else { parentTail.GetComponent <tail>().child = tail.gameObject; tail.GetComponent <tail>().parent = parentTail; tail.transform.position = parentTail.transform.position + new Vector3(-dir.x + padding, -dir.y + padding, 0); parentTail = tail.gameObject; } n_tail++; tTailNum.text = n_tail.ToString(); }
void Start() { Transform current = transform; for (int i = 0; i < 2; i++) { tail tail = GameObject.CreatePrimitive(PrimitiveType.Cube).AddComponent <tail>(); tail.transform.position = current.transform.position - current.transform.forward * 2; tail.transform.rotation = transform.rotation; tail.target = current.transform; tail.targetDistance = 2; Destroy(tail.GetComponent <Collider>()); current = tail.transform; //float horizontal = Input.GetAxis("Horizontal"); // tail.transform.Rotate(10, rotationSpeed * Time.deltaTime * horizontal, 10); } }