SetPosition() public method

public SetPosition ( Vector3 iPosition ) : void
iPosition Vector3
return void
Beispiel #1
0
    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);
            }
        }
    }
Beispiel #2
0
    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;
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
 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);
                 }
             }
         }
     }
 }
Beispiel #5
0
 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);
                 }
             }
         }
     }
 }
Beispiel #6
0
    // 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;
    }
Beispiel #7
0
 // 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);
 }
Beispiel #8
0
    // 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;
    }