#1 Vp is a nil value while using 'camera:getViewport()' or 'cam:attach()'

Closed
opened 1 year ago by 233Neon · 1 comments
233Neon commented 1 year ago

Error

cam11.lua:175: attempt to index local 'vp' (a nil value)

Traceback

[love "callbacks.lua"]:228: in function 'handler' cam11.lua:175: in function 'getViewport' main.lua:404: in function 'update' [love "callbacks.lua"]:162: in function <[love "callbacks.lua"]:144> [C]: in function 'xpcall'

-- love.load local min, max = math.min, math.max local marginX, marginY = 20, 50 local playerW = 30 local playerH = 111 local player1 = {x = character1X, y = character1Y} local player2 = {x = character2X, y = character2Y} local screenWidth = 800 local screenHeight = 600 local minX = min(player1.x, player2.x) local maxX = max(player1.x, player2.x) local minY = min(player1.y, player2.y) local maxY = max(player1.y, player2.y)

camera:getViewport()

camera:setPos((minX + maxX) * 0.5, (minY + maxY) * 0.5)

local zoomX = screenWidth / (maxX - minX + marginX) local zoomY = screenHeight / (maxY - minY + marginY) local zoom = min(min(zoomX, zoomY), 1) -- limit zoom to no more than 1x camera:setZoom(zoom) -- love.draw camera:attach()

Error cam11.lua:175: attempt to index local 'vp' (a nil value) Traceback [love "callbacks.lua"]:228: in function 'handler' cam11.lua:175: in function 'getViewport' main.lua:404: in function 'update' [love "callbacks.lua"]:162: in function <[love "callbacks.lua"]:144> [C]: in function 'xpcall' -- love.load local min, max = math.min, math.max local marginX, marginY = 20, 50 local playerW = 30 local playerH = 111 local player1 = {x = character1X, y = character1Y} local player2 = {x = character2X, y = character2Y} local screenWidth = 800 local screenHeight = 600 local minX = min(player1.x, player2.x) local maxX = max(player1.x, player2.x) local minY = min(player1.y, player2.y) local maxY = max(player1.y, player2.y) camera:getViewport() camera:setPos((minX + maxX) * 0.5, (minY + maxY) * 0.5) local zoomX = screenWidth / (maxX - minX + marginX) local zoomY = screenHeight / (maxY - minY + marginY) local zoom = min(min(zoomX, zoomY), 1) -- limit zoom to no more than 1x camera:setZoom(zoom) -- love.draw camera:attach()
Pedro Gimeno commented 1 year ago
Owner

You haven't formatted the code in an intelligible way, but it looks like you haven't created a camera using the new() method. Try this: camera = require('cam11').new()

You haven't formatted the code in an intelligible way, but it looks like you haven't created a camera using the `new()` method. Try this: `camera = require('cam11').new()`
Sign in to join this conversation.
No Label
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.