照準器を画面に表示する
![B268ef36 fd5d 46e8 836c 004de4e48e32](https://codegenius.org/uploads/slide/image/2595/b268ef36-fd5d-46e8-836c-004de4e48e32.jpeg)
![51a25cc0 8fff 41a2 97ba ed8849163f74](https://codegenius.org/uploads/slide/image/2596/51a25cc0-8fff-41a2-97ba-ed8849163f74.jpeg)
![4b108894 0c15 4ea3 b697 40bba7e6b7d8](https://codegenius.org/uploads/slide/image/2597/4b108894-0c15-4ea3-b697-40bba7e6b7d8.jpeg)
![26b6bf57 72fb 40a1 92db 0210e3142165](https://codegenius.org/uploads/slide/image/2598/26b6bf57-72fb-40a1-92db-0210e3142165.jpeg)
![9c2b61f0 4fd6 4972 b36c 496e98104abf](https://codegenius.org/uploads/slide/image/2599/9c2b61f0-4fd6-4972-b36c-496e98104abf.jpeg)
![E9b7a9be b9ea 4291 b5ec 437ae9e00bad](https://codegenius.org/uploads/slide/image/2600/e9b7a9be-b9ea-4291-b5ec-437ae9e00bad.jpeg)
![6a009aa5 143f 4623 a365 d6f64ac52d33](https://codegenius.org/uploads/slide/image/2601/6a009aa5-143f-4623-a365-d6f64ac52d33.jpeg)
照準器の表示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraMoveController : MonoBehaviour {
public GameObject player;
public float rotateSpeed;
private const float angleLimitUp = 30f;
private const float angleLimitDown = -60f;
public Camera mainCamera;
public Camera subCamera;
private Vector3 angle;
// ★追加
public GameObject aimObject;
public GameObject rifle;
void Start(){
mainCamera.enabled = true;
subCamera.enabled = false;
}
void Update () {
transform.position = player.transform.position;
angle = player.transform.eulerAngles;
transform.eulerAngles = new Vector3 (transform.eulerAngles.x, angle.y, transform.eulerAngles.z);
if (Input.GetMouseButton (0)) {
RotateCameraAngle ();
mainCamera.enabled = false;
subCamera.enabled = true;
// ★追加
// サブカメラの時だけ、照準器の画像を表示する。
aimObject.SetActive(true);
// ★追加
// サブカメラの時は、ライフルをオフにする。
rifle.SetActive (false);
} else {
mainCamera.enabled = true;
subCamera.enabled = false;
// ★追加
aimObject.SetActive(false);
// ★追加
rifle.SetActive (true);
}
float angle_x = 180f <= transform.eulerAngles.x ? transform.eulerAngles.x - 360f : transform.eulerAngles.x;
transform.eulerAngles = new Vector3(Mathf.Clamp(angle_x, angleLimitDown, angleLimitUp), transform.eulerAngles.y, transform.eulerAngles.z);
}
void RotateCameraAngle(){
Vector3 angle = new Vector3(Input.GetAxis("Mouse X") * rotateSpeed, -Input.GetAxis("Mouse Y") *rotateSpeed, 0);
transform.eulerAngles += new Vector3(angle.y, angle.x, 0);
}
}
![0bdd4b2d cd22 4a32 a3b7 1c9d21b6fceb](https://codegenius.org/uploads/slide/image/2602/0bdd4b2d-cd22-4a32-a3b7-1c9d21b6fceb.jpeg)
![988a36d5 5a17 4504 ba05 368569d740ad](https://codegenius.org/uploads/slide/image/2603/988a36d5-5a17-4504-ba05-368569d740ad.jpeg)
![Ba736847 fa07 4435 9348 bd46d286ac3b](https://codegenius.org/uploads/slide/image/2604/ba736847-fa07-4435-9348-bd46d286ac3b.jpeg)
![00f3dc95 2bb0 499f 90da 27eaa0d322e1](https://codegenius.org/uploads/slide/image/2605/00f3dc95-2bb0-499f-90da-27eaa0d322e1.jpeg)
EscapeCombat(メモ)
他のコースを見る![B268ef36 fd5d 46e8 836c 004de4e48e32](https://codegenius.org/uploads/slide/image/2595/b268ef36-fd5d-46e8-836c-004de4e48e32.jpeg)
![51a25cc0 8fff 41a2 97ba ed8849163f74](https://codegenius.org/uploads/slide/image/2596/51a25cc0-8fff-41a2-97ba-ed8849163f74.jpeg)
![4b108894 0c15 4ea3 b697 40bba7e6b7d8](https://codegenius.org/uploads/slide/image/2597/4b108894-0c15-4ea3-b697-40bba7e6b7d8.jpeg)
![26b6bf57 72fb 40a1 92db 0210e3142165](https://codegenius.org/uploads/slide/image/2598/26b6bf57-72fb-40a1-92db-0210e3142165.jpeg)
![9c2b61f0 4fd6 4972 b36c 496e98104abf](https://codegenius.org/uploads/slide/image/2599/9c2b61f0-4fd6-4972-b36c-496e98104abf.jpeg)
![E9b7a9be b9ea 4291 b5ec 437ae9e00bad](https://codegenius.org/uploads/slide/image/2600/e9b7a9be-b9ea-4291-b5ec-437ae9e00bad.jpeg)
![6a009aa5 143f 4623 a365 d6f64ac52d33](https://codegenius.org/uploads/slide/image/2601/6a009aa5-143f-4623-a365-d6f64ac52d33.jpeg)
照準器の表示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraMoveController : MonoBehaviour {
public GameObject player;
public float rotateSpeed;
private const float angleLimitUp = 30f;
private const float angleLimitDown = -60f;
public Camera mainCamera;
public Camera subCamera;
private Vector3 angle;
// ★追加
public GameObject aimObject;
public GameObject rifle;
void Start(){
mainCamera.enabled = true;
subCamera.enabled = false;
}
void Update () {
transform.position = player.transform.position;
angle = player.transform.eulerAngles;
transform.eulerAngles = new Vector3 (transform.eulerAngles.x, angle.y, transform.eulerAngles.z);
if (Input.GetMouseButton (0)) {
RotateCameraAngle ();
mainCamera.enabled = false;
subCamera.enabled = true;
// ★追加
// サブカメラの時だけ、照準器の画像を表示する。
aimObject.SetActive(true);
// ★追加
// サブカメラの時は、ライフルをオフにする。
rifle.SetActive (false);
} else {
mainCamera.enabled = true;
subCamera.enabled = false;
// ★追加
aimObject.SetActive(false);
// ★追加
rifle.SetActive (true);
}
float angle_x = 180f <= transform.eulerAngles.x ? transform.eulerAngles.x - 360f : transform.eulerAngles.x;
transform.eulerAngles = new Vector3(Mathf.Clamp(angle_x, angleLimitDown, angleLimitUp), transform.eulerAngles.y, transform.eulerAngles.z);
}
void RotateCameraAngle(){
Vector3 angle = new Vector3(Input.GetAxis("Mouse X") * rotateSpeed, -Input.GetAxis("Mouse Y") *rotateSpeed, 0);
transform.eulerAngles += new Vector3(angle.y, angle.x, 0);
}
}
![0bdd4b2d cd22 4a32 a3b7 1c9d21b6fceb](https://codegenius.org/uploads/slide/image/2602/0bdd4b2d-cd22-4a32-a3b7-1c9d21b6fceb.jpeg)
![988a36d5 5a17 4504 ba05 368569d740ad](https://codegenius.org/uploads/slide/image/2603/988a36d5-5a17-4504-ba05-368569d740ad.jpeg)
![Ba736847 fa07 4435 9348 bd46d286ac3b](https://codegenius.org/uploads/slide/image/2604/ba736847-fa07-4435-9348-bd46d286ac3b.jpeg)
![00f3dc95 2bb0 499f 90da 27eaa0d322e1](https://codegenius.org/uploads/slide/image/2605/00f3dc95-2bb0-499f-90da-27eaa0d322e1.jpeg)
照準器を画面に表示する