Difference between revisions of "love.errhand (Italiano)"
Rick astley (talk | contribs) (Created page with "{{deprecatedin (Italiano)|11.0|110|type=funzione|text=Questa funzione è stata rinominata in love.errorhandler}} La callback che gestisce...") |
Rick astley (talk | contribs) m |
||
Line 12: | Line 12: | ||
== Esempi == | == Esempi == | ||
{{newin (Italiano)|[[0.10.0]]|100|type=variant}} | {{newin (Italiano)|[[0.10.0]]|100|type=variant}} | ||
− | === La funzione utilizzata di default se non ne viene fornita una | + | === La funzione utilizzata di default se non ne viene fornita una personalizzata. === |
<source lang="Lua"> | <source lang="Lua"> | ||
local function error_printer(msg, layer) | local function error_printer(msg, layer) | ||
Line 113: | Line 113: | ||
---- | ---- | ||
{{newinoldin (Italiano)|[[0.9.2]]|092|[[0.10.0]]|100|type=variant}} | {{newinoldin (Italiano)|[[0.9.2]]|092|[[0.10.0]]|100|type=variant}} | ||
− | === La funzione utilizzata di default se non ne viene fornita una | + | === La funzione utilizzata di default se non ne viene fornita una personalizzata. === |
<source lang="Lua"> | <source lang="Lua"> | ||
local function error_printer(msg, layer) | local function error_printer(msg, layer) | ||
Line 210: | Line 210: | ||
---- | ---- | ||
{{newinoldin (Italiano)|[[0.9.0]]|090|[[0.9.2]]|092|type=variant}} | {{newinoldin (Italiano)|[[0.9.0]]|090|[[0.9.2]]|092|type=variant}} | ||
− | === La funzione utilizzata di default se non ne viene fornita una | + | === La funzione utilizzata di default se non ne viene fornita una personalizzata. === |
<source lang="lua"> | <source lang="lua"> | ||
local function error_printer(msg, layer) | local function error_printer(msg, layer) | ||
Line 299: | Line 299: | ||
---- | ---- | ||
{{oldin (Italiano)|[[0.9.0]]|090|type=variant}} | {{oldin (Italiano)|[[0.9.0]]|090|type=variant}} | ||
− | === La funzione utilizzata di default se non ne viene fornita una | + | === La funzione utilizzata di default se non ne viene fornita una personalizzata. === |
<source lang="lua"> | <source lang="lua"> | ||
local function error_printer(msg, layer) | local function error_printer(msg, layer) |
Latest revision as of 13:17, 22 April 2021
Deprecato in LÖVE 11.0 |
Questa funzione è stata rinominata in love.errorhandler. |
La callback che gestisce gli errori, utilizzata per mostrare i messaggi d'errore.
Contents
- 1 Funzione
- 2 Esempi
- 2.1 La funzione utilizzata di default se non ne viene fornita una personalizzata.
- 2.2 La funzione utilizzata di default se non ne viene fornita una personalizzata.
- 2.3 La funzione utilizzata di default se non ne viene fornita una personalizzata.
- 2.4 La funzione utilizzata di default se non ne viene fornita una personalizzata.
- 3 Vedi anche
- 4 In altre lingue
Funzione
Sinossi
love.errhand( msg )
Argomenti
string (Italiano) msg
- Il messaggio d'errore.
Reestituisce
Niente.
Esempi
Disponibile da LÖVE 0.10.0 |
Questa/o variant non è supportata/o nelle versioni precedenti. |
La funzione utilizzata di default se non ne viene fornita una personalizzata.
local function error_printer(msg, layer)
print((debug.traceback("Error: " .. tostring(msg), 1+(layer or 1)):gsub("\n[^\n]+$", "")))
end
function love.errhand(msg)
msg = tostring(msg)
error_printer(msg, 2)
if not love.window or not love.graphics or not love.event then
return
end
if not love.graphics.isCreated() or not love.window.isOpen() then
local success, status = pcall(love.window.setMode, 800, 600)
if not success or not status then
return
end
end
-- Resetta i moduli di input e output.
if love.mouse then
love.mouse.setVisible(true)
love.mouse.setGrabbed(false)
love.mouse.setRelativeMode(false)
end
if love.joystick then
-- Ferma i joystick che stanno virbrando.
for i,v in ipairs(love.joystick.getJoysticks()) do
v:setVibration()
end
end
if love.audio then love.audio.stop() end
love.graphics.reset()
local font = love.graphics.setNewFont(math.floor(love.window.toPixels(14)))
love.graphics.setBackgroundColor(89, 157, 220)
love.graphics.setColor(255, 255, 255, 255)
local trace = debug.traceback()
love.graphics.clear(love.graphics.getBackgroundColor())
love.graphics.origin()
local err = {}
table.insert(err, "Error\n")
table.insert(err, msg.."\n\n")
for l in string.gmatch(trace, "(.-)\n") do
if not string.match(l, "boot.lua") then
l = string.gsub(l, "stack traceback:", "Traceback\n")
table.insert(err, l)
end
end
local p = table.concat(err, "\n")
p = string.gsub(p, "\t", "")
p = string.gsub(p, "%[string \"(.-)\"%]", "%1")
local function draw()
local pos = love.window.toPixels(70)
love.graphics.clear(love.graphics.getBackgroundColor())
love.graphics.printf(p, pos, pos, love.graphics.getWidth() - pos)
love.graphics.present()
end
while true do
love.event.pump()
for e, a, b, c in love.event.poll() do
if e == "quit" then
return
elseif e == "keypressed" and a == "escape" then
return
elseif e == "touchpressed" then
local name = love.window.getTitle()
if #name == 0 or name == "Untitled" then name = "Game" end
local buttons = {"OK", "Cancel"}
local pressed = love.window.showMessageBox("Quit "..name.."?", "", buttons)
if pressed == 1 then
return
end
end
end
draw()
if love.timer then
love.timer.sleep(0.1)
end
end
end
Disponibile da LÖVE 0.9.2 e rimosso in LÖVE 0.10.0 |
Questa/o variant è supportata/o solo nelle versioni comprese tra quelle indicate, con la seconda esclusa. |
La funzione utilizzata di default se non ne viene fornita una personalizzata.
local function error_printer(msg, layer)
print((debug.traceback("Error: " .. tostring(msg), 1+(layer or 1)):gsub("\n[^\n]+$", "")))
end
function love.errhand(msg)
msg = tostring(msg)
error_printer(msg, 2)
if not love.window or not love.graphics or not love.event then
return
end
if not love.graphics.isCreated() or not love.window.isCreated() then
local success, status = pcall(love.window.setMode, 800, 600)
if not success or not status then
return
end
end
-- Resetta i moduli di input e output.
if love.mouse then
love.mouse.setVisible(true)
love.mouse.setGrabbed(false)
end
if love.joystick then
-- Ferma tutti i joystick che stanno vibrando.
for i,v in ipairs(love.joystick.getJoysticks()) do
v:setVibration()
end
end
if love.audio then love.audio.stop() end
love.graphics.reset()
local font = love.graphics.setNewFont(math.floor(love.window.toPixels(14)))
local sRGB = select(3, love.window.getMode()).srgb
if sRGB and love.math then
love.graphics.setBackgroundColor(love.math.gammaToLinear(89, 157, 220))
else
love.graphics.setBackgroundColor(89, 157, 220)
end
love.graphics.setColor(255, 255, 255, 255)
local trace = debug.traceback()
love.graphics.clear()
love.graphics.origin()
local err = {}
table.insert(err, "Error\n")
table.insert(err, msg.."\n\n")
for l in string.gmatch(trace, "(.-)\n") do
if not string.match(l, "boot.lua") then
l = string.gsub(l, "stack traceback:", "Traceback\n")
table.insert(err, l)
end
end
local p = table.concat(err, "\n")
p = string.gsub(p, "\t", "")
p = string.gsub(p, "%[string \"(.-)\"%]", "%1")
local function draw()
local pos = love.window.toPixels(70)
love.graphics.clear()
love.graphics.printf(p, pos, pos, love.graphics.getWidth() - pos)
love.graphics.present()
end
while true do
love.event.pump()
for e, a, b, c in love.event.poll() do
if e == "quit" then
return
end
if e == "keypressed" and a == "escape" then
return
end
end
draw()
if love.timer then
love.timer.sleep(0.1)
end
end
end
Disponibile da LÖVE 0.9.0 e rimosso in LÖVE 0.9.2 |
Questa/o variant è supportata/o solo nelle versioni comprese tra quelle indicate, con la seconda esclusa. |
La funzione utilizzata di default se non ne viene fornita una personalizzata.
local function error_printer(msg, layer)
print((debug.traceback("Error: " .. tostring(msg), 1+(layer or 1)):gsub("\n[^\n]+$", "")))
end
function love.errhand(msg)
msg = tostring(msg)
error_printer(msg, 2)
if not love.window or not love.graphics or not love.event then
return
end
if not love.graphics.isCreated() or not love.window.isCreated() then
if not pcall(love.window.setMode, 800, 600) then
return
end
end
-- Resetta i moduli di input e output.
if love.mouse then
love.mouse.setVisible(true)
love.mouse.setGrabbed(false)
end
if love.joystick then
for i,v in ipairs(love.joystick.getJoysticks()) do
v:setVibration() -- Ferma tutti i joystick che stanno vibrando.
end
end
if love.audio then love.audio.stop() end
love.graphics.reset()
love.graphics.setBackgroundColor(89, 157, 220)
local font = love.graphics.setNewFont(14)
love.graphics.setColor(255, 255, 255, 255)
local trace = debug.traceback()
love.graphics.clear()
love.graphics.origin()
local err = {}
table.insert(err, "Error\n")
table.insert(err, msg.."\n\n")
for l in string.gmatch(trace, "(.-)\n") do
if not string.match(l, "boot.lua") then
l = string.gsub(l, "stack traceback:", "Traceback\n")
table.insert(err, l)
end
end
local p = table.concat(err, "\n")
p = string.gsub(p, "\t", "")
p = string.gsub(p, "%[string \"(.-)\"%]", "%1")
local function draw()
love.graphics.clear()
love.graphics.printf(p, 70, 70, love.graphics.getWidth() - 70)
love.graphics.present()
end
while true do
love.event.pump()
for e, a, b, c in love.event.poll() do
if e == "quit" then
return
end
if e == "keypressed" and a == "escape" then
return
end
end
draw()
if love.timer then
love.timer.sleep(0.1)
end
end
end
Removed in LÖVE 0.9.0 |
Questa/o variant non è supportata/o da questa versione in poi. |
La funzione utilizzata di default se non ne viene fornita una personalizzata.
local function error_printer(msg, layer)
print((debug.traceback("Error: " .. tostring(msg), 1+(layer or 1)):gsub("\n[^\n]+$", "")))
end
function love.errhand(msg)
msg = tostring(msg)
error_printer(msg, 2)
if not love.graphics or not love.event or not love.graphics.isCreated() then
return
end
-- Caricamento.
if love.audio then love.audio.stop() end
love.graphics.reset()
love.graphics.setBackgroundColor(89, 157, 220)
local font = love.graphics.newFont(14)
love.graphics.setFont(font)
love.graphics.setColor(255, 255, 255, 255)
local trace = debug.traceback()
love.graphics.clear()
local err = {}
table.insert(err, "Error\n")
table.insert(err, msg.."\n\n")
for l in string.gmatch(trace, "(.-)\n") do
if not string.match(l, "boot.lua") then
l = string.gsub(l, "stack traceback:", "Traceback\n")
table.insert(err, l)
end
end
local p = table.concat(err, "\n")
p = string.gsub(p, "\t", "")
p = string.gsub(p, "%[string \"(.-)\"%]", "%1")
local function draw()
love.graphics.clear()
love.graphics.printf(p, 70, 70, love.graphics.getWidth() - 70)
love.graphics.present()
end
draw()
local e, a, b, c
while true do
e, a, b, c = love.event.wait()
if e == "quit" then
return
end
if e == "keypressed" and a == "escape" then
return
end
draw()
end
end
Vedi anche
In altre lingue
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info