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(); } } } }
// 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); } } }
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; } }