Initial late commit
This commit is contained in:
53
application/assets/scripts/camera.lua
Normal file
53
application/assets/scripts/camera.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
local velocity = 5
|
||||
|
||||
function HandleMouse(camera, delta_time)
|
||||
local mouse_sensitivity = 0.2
|
||||
local xoffset, yoffset = Input:GetMouseOffset()
|
||||
|
||||
xoffset = xoffset * mouse_sensitivity;
|
||||
yoffset = yoffset * mouse_sensitivity;
|
||||
|
||||
local pitch, yaw = camera:GetPitchYaw()
|
||||
yaw = yaw + xoffset;
|
||||
pitch = pitch + yoffset;
|
||||
|
||||
if pitch > 89.0 then
|
||||
pitch = 89.0;
|
||||
if pitch < -89.0 then
|
||||
pitch = -89.0;
|
||||
end
|
||||
end
|
||||
|
||||
camera:SetPitchYaw(pitch, yaw)
|
||||
|
||||
end
|
||||
|
||||
function Update()
|
||||
local delta_time = Time:DeltaTime();
|
||||
--local inp = Input:GetKeyStatus(GLFW_KEY_W)
|
||||
local transform = Parent:GetTransform()
|
||||
local camera = Parent:GetCamera()
|
||||
local forward = camera:forward()
|
||||
local right = camera:right()
|
||||
local translation
|
||||
|
||||
HandleMouse(camera, delta_time)
|
||||
|
||||
if Input:GetKeyStatus(GLFW_KEY_W) == 1 then
|
||||
translation = normalize(forward * vec3:new(1.0, 0.0, 1.0)) * velocity * delta_time
|
||||
end
|
||||
|
||||
if Input:GetKeyStatus(GLFW_KEY_S) == 1 then
|
||||
translation = normalize(forward * vec3:new(1.0, 0.0, 1.0)) * -velocity * delta_time
|
||||
end
|
||||
|
||||
if Input:GetKeyStatus(GLFW_KEY_A) == 1 then
|
||||
translation = normalize(right * vec3:new(1.0, 0.0, 1.0)) * -velocity * delta_time
|
||||
end
|
||||
|
||||
if Input:GetKeyStatus(GLFW_KEY_D) == 1 then
|
||||
translation = normalize(right * vec3:new(1.0, 0.0, 1.0)) * velocity * delta_time
|
||||
end
|
||||
|
||||
transform:Translate(translation)
|
||||
end
|
||||
Reference in New Issue
Block a user