Le code original est celui-ci :
--! luart-extensions
import ui
require "canvas"
-- create a simple Window
local win = ui.Window("Image:draw() sample", "fixed", 500, 400)
-- create a Canvas
local canvas = ui.Canvas(win)
canvas.align = "all"
canvas.bgcolor = 0x000000FF
local w = canvas.width
local h = canvas.height
local img = canvas:Image("c:/Prog/img/rond.png")
function canvas:onPaint()
self:begin()
img:draw(math.random(w)-80, math.random(h), math.random(), math.random())
self:flip()
end
await win:showasync()
``C'est un exemple du site, qui fait apparaître plein de disques d'une même couleur au hazard sur l'écran
mais il y a tellement de disques que l'affichage n'est pas clair, alors j'ai pensé faire une variante qui efface l'écran avant d'afficher le nouveau disque, c'est pas grand chose, c'est seulement pour mieux comprendre comment utiliser cette instruction.
canvas:clear() doit se placer juste après cette partie du code :
function canvas:onPaint()
self:begin()
-- içi quoi !
ATTENTION : Ce code fonctionne très bien tant qu'il commence à la première ligne sur l'éditeur Luart.
Si ce code commence à partir de la deuxième ligne de l'éditeur, alors il ne fonctionnera pas, et je pense que c'est un bug de Luart.