// Update is called once per frame void Update() { if (skillButton.getUsingSkill() && Input.GetMouseButtonDown(0)) { Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Ray2D ray = new Ray2D(pos, Vector2.zero); RaycastHit2D[] hits = Physics2D.RaycastAll(ray.origin, ray.direction); foreach (var hit in hits) { if (hit.collider.gameObject != gameObject) //해당 물병이 터치되었는지 확인 { continue; } if (playerImageController.getPlayingChr() == 0) //염동력자의 경우 { if (!redAura.activeSelf && usingSkillNum < gameResourceValue.GetSkillLV(0)) //오러가 꺼져 있고 오러가 켜져있는 물병의 개수가 업그레이드 수 미만일 때 { usefullOperation.FadeIn(redAura.GetComponent <SpriteRenderer>()); usingSkillNum++; } else if (redAura.activeSelf) //오러가 켜져있을 때 { usefullOperation.FadeOut(1, redAura.GetComponent <SpriteRenderer>()); usingSkillNum--; } } else if (playerImageController.getPlayingChr() == 2) //빙결자의 경우 { if (!freezeRange.activeSelf && usingSkillNum < gameResourceValue.GetSkillLV(2)) // 빙결 범위 표시기가 꺼져있고 빙결 범위 표시기가 쳐져 있는 개수가 업그레이드 수 미만일 때 { usefullOperation.FadeIn(freezeRange.GetComponent <SpriteRenderer>()); rb.AddForce(new Vector2(0.01f, 0)); //빙결 범위 이미지를 움직이지 않으면 구조물 인식이 안 됨. usingSkillNum++; } else if (freezeRange.activeSelf) { usefullOperation.FadeOut(1, freezeRange.GetComponent <SpriteRenderer>()); usingSkillNum--; } } break; } } }
private void Update() { if (padDirection.getDirection().x <= 0) { key = 1; } if (padDirection.getDirection().x > 0) { key = -1; } if (!skillButton.getUsingSkill()) { transform.localScale = new Vector3(key * 0.4f, 0.4f, 1); //필살기 사용중이 아니면 패드 위치에 따라 캐릭터가 향하는 방향이 바뀜 } bottlePosition = transform.GetChild(playingChr).transform.position; }
// Update is called once per frame void Update() { transform.position = playerImageController.getBottlePosition(); if (padStrength.isTouch || padStrength.isThrowing || skillButton.getUsingSkill() || bottleSelectController.bottleController.isSuperPowerAvailabe) { transform.GetChild(0).gameObject.SetActive(false); } else if (padDirection.getIsTouch()) { transform.GetChild(0).gameObject.SetActive(true); double angle = Mathf.Atan2(padDirection.getDirection().y, padDirection.getDirection().x) * (180.0 / Mathf.PI) + 185; if (padDirection.getDirection().magnitude == 0) { this.transform.rotation = Quaternion.Euler(0, 0, 0); //드래그를 안 했을 시 회전하지 않는다. } else { this.transform.rotation = Quaternion.Euler(0, 0, (float)angle); //조이스틱의 방향에 따라 방향을 변경 } } }