public SetPosition ( Vector3 iPosition ) : void | ||
iPosition | Vector3 | |
return | void |
void Walking() { if (inputManager.Clicked()) { // RayCastで対象物を調べる. Ray ray = Camera.main.ScreenPointToRay(inputManager.GetCursorPosition()); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, RayCastMaxDistance, (1 << LayerMask.NameToLayer("Ground")) | (1 << LayerMask.NameToLayer("EnemyHit")) | (1 << LayerMask.NameToLayer("PlayerHit")))) { // 地面がクリックされた. if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("Ground")) { SetAttackTarget(null); SendMessage("SetDestination", hitInfo.point); targetCursor.SetPosition(hitInfo.point); } // 敵がクリックされた. if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("EnemyHit")) { SetAttackTarget(hitInfo.collider.transform.root); } // Playerがクリックされた. if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("PlayerHit")) { if (cc.fieldOfView < 65) { cc.fieldOfView = 70; } else { cc.fieldOfView = 60; } } } } if (attackTarget != null) { // 水平距離をチェックして攻撃するか決める. Vector3 hitPoint = attackTarget.position; hitPoint.y = transform.position.y; float distance = Vector3.Distance(hitPoint, transform.position); //print (attackTarget.name + ": " + distance + ": " + attackRange); if (distance < attackRange) { // 攻撃. targetCursor.SetPosition(attackTarget.position); ChangeState(State.Attacking); } else { SendMessage("SetDestination", attackTarget.position); targetCursor.SetPosition(attackTarget.position); } } }
public GameObject lastBeatEffect; //ラストビートのえふぇくと void Start() { status = this.GetComponent <CharacterStatus>(); charaAnimation = this.GetComponent <CharaAnimation>(); inputManager = FindObjectOfType <InputManager>(); gameRuleCtrl = FindObjectOfType <GameRuleCtrl>(); camera = FindObjectOfType <FollowCamera>(); //ターゲットマーカー targetCursor = FindObjectOfType <TargetCursor>(); targetCursor.SetPosition(transform.position); //ジョイスティック joystick = FindObjectOfType <Joystick>(); damageSeAudio = gameObject.AddComponent <AudioSource>(); damageSeAudio.clip = damageSeClip; damageSeAudio.loop = false; damageSeAudio.volume = 0.2f; magicSeAudio = gameObject.AddComponent <AudioSource>(); magicSeAudio.clip = magicSeClip; magicSeAudio.loop = false; magicSeAudio.volume = 0.2f; abilitySeAudio = gameObject.AddComponent <AudioSource>(); abilitySeAudio.clip = abilitySeClip; abilitySeAudio.loop = false; abilitySeAudio.volume = 0.2f; ability2SeAudio = gameObject.AddComponent <AudioSource>(); ability2SeAudio.clip = abilitySeClip; ability2SeAudio.loop = false; ability2SeAudio.volume = 0.2f; ReactLine = status.MaxHP * ReactLine; }
State nextState = State.Walking; // 다음 스테이트. // Use this for initialization void Start() { status = GetComponent <CharacterStatus>(); charaAnimation = GetComponent <CharaAnimation>(); inputManager = FindObjectOfType <InputManager>(); gameRuleCtrl = FindObjectOfType <GameRuleCtrl>(); targetCursor = FindObjectOfType <TargetCursor>(); targetCursor.SetPosition(transform.position); }
void Walking() { if (inputManager.Clicked()) { // RayCast로 대상물을 조사한다. Ray ray = Camera.main.ScreenPointToRay(inputManager.GetCursorPosition()); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, RayCastMaxDistance, (1 << LayerMask.NameToLayer("Ground")) | (1 << LayerMask.NameToLayer("EnemyHit")))) { // 지면이 클릭되었다. if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("Ground")) { SendMessage("SetDestination", hitInfo.point); targetCursor.SetPosition(hitInfo.point); } // 적이 클릭되었다. if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("EnemyHit")) { // 수평 거리를 체크해서 공격할지 결정한다. Vector3 hitPoint = hitInfo.point; hitPoint.y = transform.position.y; float distance = Vector3.Distance(hitPoint, transform.position); if (distance < attackRange) { // 공격. attackTarget = hitInfo.collider.transform; targetCursor.SetPosition(attackTarget.position); ChangeState(State.Attacking); } else { SendMessage("SetDestination", hitInfo.point); targetCursor.SetPosition(hitInfo.point); } } } } }
void Walking() { if (inputManager.Clicked()) { // RayCastで対象物を調べる Ray ray = Camera.main.ScreenPointToRay(inputManager.GetCursorPosition()); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, RayCastMaxDistance, (1 << LayerMask.NameToLayer("Ground")) | (1 << LayerMask.NameToLayer("EnemyHit")))) { // 地面がクリックされた if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("Ground")) { SendMessage("SetDestination", hitInfo.point); targetCursor.SetPosition(hitInfo.point); } // 敵がクリックされた if (hitInfo.collider.gameObject.layer == LayerMask.NameToLayer("EnemyHit")) { // 水平距離をチェックして攻撃するか決める Vector3 hitPoint = hitInfo.point; hitPoint.y = transform.position.y; float distance = Vector3.Distance(hitPoint, transform.position); if (distance < attackRange) { // 攻撃 attackTarget = hitInfo.collider.transform; targetCursor.SetPosition(attackTarget.position); ChangeState(State.Attacking); } else { SendMessage("SetDestination", hitInfo.point); targetCursor.SetPosition(hitInfo.point); } } } } }
// Use this for initialization void Start() { status = GetComponent <CharacterStatus>(); charaAnimation = GetComponent <CharaAnimation>(); inputManager = FindObjectOfType <InputManager>(); gameRuleCtrl = FindObjectOfType <GameRuleCtrl>(); targetCursor = FindObjectOfType <TargetCursor>(); targetCursor.SetPosition(transform.position); // 오디오 초기화. deathSeAudio = gameObject.AddComponent <AudioSource>(); deathSeAudio.loop = false; deathSeAudio.clip = deathSeClip; }
// Use this for initialization void Start() { status = GetComponent<CharacterStatus>(); charaAnimation = GetComponent<CharaAnimation>(); inputManager = FindObjectOfType<InputManager>(); gameRuleCtrl = FindObjectOfType<GameRuleCtrl>(); targetCursor = FindObjectOfType<TargetCursor>(); targetCursor.SetPosition(transform.position); }
// Use this for initialization void Start() { status = GetComponent<CharacterStatus>(); charaAnimation = GetComponent<CharaAnimation>(); inputManager = FindObjectOfType<InputManager>(); gameRuleCtrl = FindObjectOfType<GameRuleCtrl>(); targetCursor = FindObjectOfType<TargetCursor>(); targetCursor.SetPosition(transform.position); // 오디오 초기화. deathSeAudio = gameObject.AddComponent<AudioSource>(); deathSeAudio.loop = false; deathSeAudio.clip = deathSeClip; }