Files
XCEngine/参考/Fermion/Boson/projects/Assets/scripts/CameraController.cs

61 lines
1.6 KiB
C#
Raw Normal View History

using System;
using Fermion;
namespace Photon
{
public class CameraController : Entity
{
public float MoveSpeed = 50.0f;
private TransformComponent m_Transform;
private bool enable = false;
private bool lastQDown = false;
public void OnCreate()
{
if (!HasComponent<TransformComponent>())
{
Utils.Log("CameraController requires TransformComponent!");
return;
}
m_Transform = GetComponent<TransformComponent>();
}
public void OnUpdate(float ts)
{
if (m_Transform == null)
return;
Vector3 translation = m_Transform.Translation;
float speed = MoveSpeed * ts;
bool currentQDown = Input.IsKeyDown(KeyCode.Q);
if (currentQDown && !lastQDown)
{
enable = !enable;
}
lastQDown = currentQDown;
if (enable)
{
if (Input.IsKeyDown(KeyCode.W) || Input.IsKeyDown(KeyCode.Up))
translation.Y += speed;
if (Input.IsKeyDown(KeyCode.S) || Input.IsKeyDown(KeyCode.Down))
translation.Y -= speed;
if (Input.IsKeyDown(KeyCode.A) || Input.IsKeyDown(KeyCode.Left))
translation.X -= speed;
if (Input.IsKeyDown(KeyCode.D) || Input.IsKeyDown(KeyCode.Right))
translation.X += speed;
}
m_Transform.Translation = translation;
}
}
}