Ich bin nur in Unity5, da es mein Schulprojekt ist. Sie sagten mir, ich solle ein fps-Spiel machen und ich versuche, einen fps zu machen, der die Kamera durch Q und E drehen lässt, aber ich kann die Kamera nicht mit der Maus bewegen. Und wenn ich die Maus eingeben möchte, kann ich meinen fps Charakter überhaupt nicht bewegen. Hier ist mein Code:Wie kann ich Maus Kamera mit der Maus für fps in Einheit anzeigen 5
using UnityEngine;
public class Player : MonoBehaviour {
private MazeCell currentCell;
private MazeDirection currentDirection;
public void SetLocation (MazeCell cell) {
if (currentCell != null) {
currentCell.OnPlayerExited();
}
currentCell = cell;
transform.localPosition = cell.transform.localPosition;
currentCell.OnPlayerEntered();
}
private void Move (MazeDirection direction) {
MazeCellEdge edge = currentCell.GetEdge(direction);
if (edge is MazePassage) {
SetLocation(edge.otherCell);
}
}
private void Look (MazeDirection direction) {
transform.localRotation = direction.ToRotation();
currentDirection = direction;
}
private void Update() {
if (Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow)) {
Move(currentDirection);
}
if (Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow)) {
Move(currentDirection.GetNextClockwise());
}
if (Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.DownArrow)) {
Move(currentDirection.GetOpposite());
}
if (Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow)) {
Move(currentDirection.GetNextCounterclockwise());
}
if (Input.GetKeyDown(KeyCode.Q)) {
Look(currentDirection.GetNextCounterclockwise());
}
if (Input.GetKeyDown(KeyCode.E)) {
Look(currentDirection.GetNextClockwise());
}
}
}
irgendwie ich nehme an, Sie neu sind so hier ein Vorschlag bei der Codierung: Sie jemals nicht nur, wenn in Ihrem Code verwenden esle verwenden, wenn {} else {if {...}}. es macht die Dinge viel einfacher: D – MrSunshine
dann was ??? Herr, bitte sagen Sie mir mehr –
sry wurde gedrückt geben Sie zu bald xD – MrSunshine