Page 1 of 1

Erreur avec 'gc'

Unread postPosted: 28 Apr 2012, 08:28
by Nartero
Bonjour,

J'ai un petit soucis avec un bout de code en lua. Une erreur m'est indiquée, mais je n'ai absolument aucune idée de comment la résoudre. :s

Le code :
Code: Select all
function Square:init(x, y, width, height)

    self.x = x
    self.y = y
    self.width = width or 20
    self.height = height or 20
    self.color = Color.green

end


function Square:paint(gc)

    gc:setColorRGB(unpack(self.color))
    gc:fillRect(self.x - self.width / 2, self.y - self.height / 2, self.width, self.height)

end


L'erreur, "attempt to index local 'gc' (a number value)" est signalée ici :
Code: Select all
gc:setColorRGB(unpack(self.color))


Merci d'avance ! :):

Re: Erreur avec 'gc'

Unread postPosted: 28 Apr 2012, 10:21
by Adriweb
il faut vérifier que la fonction Square:paint(gc) est bien appelée en passant le 'gc' du on.paint.
Sinon, ca peut faire des chocapics.... m'enfin, "number value" c'est bizarre.

A mon avis, c'est que tu as appelée le Square:paint avec les arguments du Square:init (d'où le 'x', number value) ;-)

Re: Erreur avec 'gc'

Unread postPosted: 28 Apr 2012, 10:27
by Nartero
Merci, c'était bien ça ! :)

J'ai corrigé l'erreur comme ça :
Code: Select all
sq = Square(20,20,20,20)
sq:paint(gc)


au lieu de mettre Square:paint(20,20,20,20) :s:

Re: Erreur avec 'gc'

Unread postPosted: 28 Apr 2012, 10:30
by Adriweb
Voila ;-)