0
私は地図の端に手が届くとカメラがロックされますが、カメラがロックされていますが、回転するまでプレーヤが端に向かって前進することができます。 私はmathf.clampを使用する必要があると知っていますが、現在のコードにどのように適用するかはわかりません。ありがとうございました。カメラをロックするにはどうすればいいですか? Unity2D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class walkScript : MonoBehaviour {
public float speed = 1.5f;
private Vector3 target;
private Vector3 lastTarget;
private Animator animator;
private Vector3 camTarget;
public GameObject cameraMain;
void Start() {
target = transform.position;
camTarget = cameraMain.transform.position;
animator = GetComponent<Animator>();
}
void Update() {
if (Input.GetMouseButtonDown(0)) {
target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
target.z = transform.position.z;
target.y = transform.position.y;
camTarget = Camera.main.ScreenToWorldPoint(Input.mousePosition);
camTarget.z = cameraMain.transform.position.z;
camTarget.y = cameraMain.transform.position.y;
flipCharacter();
}
transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
cameraMain.transform.position = Vector3.MoveTowards(cameraMain.transform.position, camTarget, speed * Time.deltaTime);
lastTarget.x = target.x;
}
private void flipCharacter()
{
if (lastTarget.x > target.x) {
animator.transform.Rotate(0, 180, 0);
} else if (lastTarget.x < target.x) {
animator.transform.Rotate(0, 180, 0);
}
}
}
これは、どこをクリックしてもカメラを自動的に動かします。 それは文字にも従いません。 – Lynnstrum