π
<-

Aide pour les classes()

Pour TI-Nspire OS 3.0 ou ultérieur.

Aide pour les classes()

Unread postby AnToX98 » 11 Sep 2013, 15:03

J'ai besoin d'un peu d'aide pour les classes en lua :D

Voila mon code :

Code: Select all
function on.paint(gc)
    Balls:paint(gc)

end

---------------------------
--------- CLASSES ---------
---------------------------

Balls = class()

function Balls:init(x,y,ax,ay,img)
    self.x = x
    self.y = y
    self.ax = ax
    self.ay = ay
    self.img = img
end


tBalls =  { Balls(w/2,h-10,0,0,ball) }

function Balls:paint(gc)
    for k=1,#tBalls do
        gc:drawImage(self.img,self.x,self.y)
    end   
end




Et voila l'erreur que ça me renvoie :

Code: Select all
bad argument #1 to 'drawImage' (TI.Image expected, got nil)


Merci de votre aide :)
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Aide pour les classes()

Unread postby jimbauwens » 11 Sep 2013, 17:45

Remplacez

Code: Select all
function Balls:paint(gc)
    for k=1,#tBalls do
        gc:drawImage(self.img,self.x,self.y)
    end   
end


par

Code: Select all
function Balls:paint(gc)
    for k=1,#tBalls do
        local b = tBalls[i]
        gc:drawImage(b.img,b.x,b.y)
    end   
end


Mais, il serait préférable de le faire:

Code: Select all
---------------------------
--------- CLASSES ---------
---------------------------

Ball = class()

function Ball:init(x,y,ax,ay,img)
    self.x = x
    self.y = y
    self.ax = ax
    self.ay = ay
    self.img = img
end

function Ball:paint(gc)
    gc:drawImage(self.img, self.x, self.y)
end

-------------
-- Generic --
-------------

tBalls =  { Ball(w/2, h-10, 0, 0, ball) }

function paintBalls(gc)
    for n, ball in ipairs(tBalls) do
        ball:paint(gc)
    end   
end

-------------
-- Events --
-------------

function on.paint(gc)
  paintBalls(gc)
end
User avatar
jimbauwensProgrammeur
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 30.5%
 
Posts: 54
Joined: 13 May 2011, 00:00
Location: Belgium
Gender: Male
Calculator(s):
MyCalcs profile
Class: Computer Science @ VUB University Brussels

Re: Aide pour les classes()

Unread postby AnToX98 » 11 Sep 2013, 17:59

Thank you Jims, works perfectly ;)
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S


Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1212 utilisateurs:
>1172 invités
>33 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)