void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // 우클릭 이동 if (Physics.Raycast(ray, out hit, 1000) && Input.GetMouseButton(1)) { if (hit.transform.name != "Player") { GetComponent <NavMeshAgent>().isStopped = false; GetComponent <NavMeshAgent>().destination = hit.point; } } // 좌클릭 사격 if (Physics.Raycast(ray, out hit, 1000) && Input.GetMouseButtonDown(0)) { if (hit.transform.name != "Player") { projectile p = Instantiate(proj, transform.position, Quaternion.identity); p.fire(hit.point - transform.position); } } // 정지 if (Input.GetKeyDown(KeyCode.S)) { GetComponent <NavMeshAgent>().isStopped = true; } }
// Update is called once per frame void Update() { damaged.color = Color.Lerp(damaged.color, Color.clear, 3f * Time.deltaTime); if (rb2d.velocity[0] > .1) { transform.localScale = new Vector2(-startingScale, transform.localScale.y); right = false; } else if (rb2d.velocity[0] < -.1) { transform.localScale = new Vector2(startingScale, transform.localScale.y); right = true; } if (Input.GetMouseButtonDown(0) && !swordRotated) { sword.SetActive(true); //sword.transform.Rotate(0, 0, -90); if (right) { sword.transform.eulerAngles = new Vector3(sword.transform.eulerAngles.x, sword.transform.eulerAngles.y, -70); } else { sword.transform.eulerAngles = new Vector3(sword.transform.eulerAngles.x, sword.transform.eulerAngles.y, 100); } //sword.transform.Rotate(Vector3.right * Time.deltaTime); swordRotated = true; } else if (Input.GetMouseButtonDown(1) && swordRotated) { sword.SetActive(false); //sword.transform.Rotate(0, 0, 90); if (right) { sword.transform.eulerAngles = new Vector3(sword.transform.eulerAngles.x, sword.transform.eulerAngles.y, 20); } else { sword.transform.eulerAngles = new Vector3(sword.transform.eulerAngles.x, sword.transform.eulerAngles.y, 20); } //sword.transform.Rotate(Vector3.left * Time.deltaTime); swordRotated = false; } if ((Input.GetKeyDown("w") || Input.GetKeyDown("space")) && canJump) { rb2d.velocity = new Vector2(rb2d.velocity[0], jumpForce); canJump = false; } if (Input.GetKey("d")) { if (rb2d.velocity[0] < runForce) { rb2d.AddForce(new Vector2(runForce, 0)); } } if (Input.GetKey("a")) { if (rb2d.velocity[0] > -runForce) { rb2d.AddForce(new Vector2(-runForce, 0)); } } if (Input.GetKey("e")) { if (!hasShot) { if (rocks > 0) { projectile clone = (Instantiate(projectile, transform.position, transform.rotation)) as projectile; clone.transform.position = new Vector3(clone.transform.position.x, clone.transform.position.y, 1); hasShot = true; shotTime = shotCoolDown; clone.fire(!right); rocks--; ammoText.text = "Rocks: " + rocks.ToString(); //clone.rigidbody.AddForce(1000, 0, 0); } } } if (invinsibleTimer > 0) { invinsibleTimer--; } if (shotTime > 0) { shotTime--; } if (shotTime == 0) { hasShot = false; } }