Also habe ich gerade mein Bewegungsskript fertig und mein Spiel scheint, als hätte es eine niedrige Framerate. Ich habe Fraps gebootet und festgestellt, dass mein Spiel mit 60FPS läuft. Was könnte das Problem sein? Auch das ist ein Top-Down-RPG-Stil-Spiel übrigens. Hier ist meine Bewegung Skript, ob das hilft:Bewegung scheint abgehackt, aber FPS ist gut
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
Vector2 _playerPosition;
public GameObject Player;
// Use this for initialization
void Start() {
_playerPosition = Vector2.zero;
}
// Update is called once per frame
public float speed = 3f;
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.position += Vector3.up * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.S))
{
transform.position += Vector3.down * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.D))
{
transform.position += Vector3.right * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A))
{
transform.position += Vector3.left * speed * Time.deltaTime;
}
}
}
Wenn dieses Skript im Player Object Inspector angehängt ist, brauchen Sie die GameObject Zeile wirklich nicht. Die Time.deltaTime ist Zeit, um das letzte Bild zu vervollständigen. Sie haben Probleme mit dem Timing, das Sie verwenden möchten _Time [0], das ist die Zeit seit dem Start des Programms und sagen, dass jedes Mal, wenn es die Bewegungserlaubnis erhöht hat. 0 in der Halterung ist 1/20 einer Sekunde, 1 für 1 Sekunde verwenden und dann gibt es 2 und 3 für den Einsatz in der Halterung. – Edward
@Edward Wie würde ich das hinzufügen? –