Example #1
0
    void Update()
    {
        h = joystick.Position.x;
        v = joystick.Position.y;
        int armStatus;

        if (Input.GetMouseButtonUp(0))
        {
            armStatus = arm.getStatus();
            if ((armStatus == 0 || armStatus == 9) && (h == 0 && v == 0))
            {
                // カメラとマウスの位置を元にRayを準備
                var ray = Camera.main.ScreenPointToRay(Input.mousePosition);

                // プレイヤーの高さにPlaneを更新して、カメラの情報を元に地面判定して距離を取得
                plane.SetNormalAndPosition(Vector3.up, transform.localPosition);
                if (plane.Raycast(ray, out distance))
                {
                    // 距離を元に交点を算出して、交点の方を向く
                    var lookPoint = ray.GetPoint(distance);
                    transform.LookAt(lookPoint);
                    // Shot();
                }
            }
        }
    }
Example #2
0
 // Update is called once per frame
 void Update()
 {
     if (isMove)
     {
         transform.position -= new Vector3(0, 0, speed);
         if (transform.localPosition.z < -20)
         {
         }
     }
     else
     {
         transform.position = GameObject.Find("Position").transform.position;
         if (arm.getStatus() == 10)
         {
             Destroy(gameObject);
         }
     }
 }
Example #3
0
    private void Update()
    {
        Vector3 pos = transform.position;

        float h         = _joystick.Position.x;
        float v         = _joystick.Position.y;
        int   armStatus = arm.getStatus();

        if ((armStatus == 0 || armStatus == 9) && (h != 0 && v != 0))
        {
            var direction = new Vector3(h, 0, v);
            transform.localRotation = Quaternion.LookRotation(direction);

            pos.x += _joystick.Position.x * SPEED;
            pos.z += _joystick.Position.y * SPEED;

            transform.position = pos;
        }
    }