CameraExampleCode: Difference between revisions
From Crumbled World Wiki
(Created page with "==Example Code== <syntaxhighlight lang="lua"> --this = Camera() function create() keyBinds = Core.getBillboard("keyBind"); keyBindForward = keyBinds:getKeyBind("forward"); keyBindBackward = keyBinds:getKeyBind("backward"); keyBindLeft = keyBinds:getKeyBind("left"); keyBindRight = keyBinds:getKeyBind("right"); end function update() local deltaTime = Core.getDeltaTime() local localMat = this:getLocalMatrix() if keyBindForward:getHeld() then localMat:setPos...") |
(No difference)
|
Latest revision as of 07:49, 6 July 2025
Example Code
--this = Camera()
function create()
keyBinds = Core.getBillboard("keyBind");
keyBindForward = keyBinds:getKeyBind("forward");
keyBindBackward = keyBinds:getKeyBind("backward");
keyBindLeft = keyBinds:getKeyBind("left");
keyBindRight = keyBinds:getKeyBind("right");
end
function update()
local deltaTime = Core.getDeltaTime()
local localMat = this:getLocalMatrix()
if keyBindForward:getHeld() then
localMat:setPosition( localMat:getPosition() - localMat:getAtVec() * deltaTime * 20 )
end
if keyBindBackward:getHeld() then
localMat:setPosition( localMat:getPosition() + localMat:getAtVec() * deltaTime * 20 )
end
if keyBindLeft:getHeld() then
localMat:setPosition( localMat:getPosition() - localMat:getRightVec() * deltaTime * 20 )
end
if keyBindRight:getHeld() then
localMat:setPosition( localMat:getPosition() + localMat:getRightVec() * deltaTime * 20 )
end
--update rotate
if Core.getInput():getKeyHeld(Key.space) then
local moseDiff = Core.getInput():getMouseDelta() * 0.002
quatRot = Quat()
quatRot:fromEuler(moseDiff.y, moseDiff.x, 0.0)
localMat = localMat * quatRot:getMatrix()
end
this:setLocalMatrix(localMat)
return true
end