Page 1 of 1

fonctions lua

Unread postPosted: 24 Apr 2011, 15:45
by killernight38140
Salut
comme dit dans le titre du sujet je programme en lua sur l os 3.0 de la nspire
est ce qu il existe une fonction lua permettant d'effacer ce qu il y a a l écran sans rappeler automatiquement la fonction on.paint() ?
et existe il des sortes de label que l on peut placer dans le programme pour revenir dessus par la suite ( comm en TI BASIC par exemple) ??

merci beaucoup pour vos réponses

Re: fonctions lua

Unread postPosted: 24 Apr 2011, 15:58
by Lionel Debroux
Je ne sais pas si la réponse à  la première question est sur Hackspire, mais la réponse à  la deuxième question est certainement dans au moins un tutorial Lua sur Internet :;):

Re: fonctions lua

Unread postPosted: 24 Apr 2011, 15:58
by Levak
Bonjour,

Attention, je tiens à te prévenir tout de suite, la logique de programmation en Lua et comme tout langage de haut niveau (au sens du processeur) n'apporte pas les mêmes réflexes de programmation. Il faut littéralement changer d'habitudes ne serait-ce que ne plus jamais parler de "label" et de "goto". Donc la réponse est non, il n'y a pas de ça et tant mieux (c'est juste horrible de lire un programme avec des redirections de partout). Il faudra trouver un autre moyen (par exemple rappeler une fonction que tu auras définie)

Concernant la fonction spécifique qui permet d'effacer l'écran, il n'y en a pas. L'écran est effacé dès que le on.paint() est appelé. Cependant, tu peux faire bien mochement :

gc:setColorRGB(255,255,255)
gc:drawRect(0,0,platform.window:width(),platform.window:height())
gc:setColorRGB(0,0,0)

Attention : Cependant cela n'a aucun sens, car de toute manière il faut être dans le on.paint() ou que le on.paint() soit une fonction appelante pour pouvoir utiliser gc qui est en fait un raccourcis de platform.gc(). Or si on vient du on.paint() l'écran est déjà effacé.

Si tu veux comprendre pourquoi regarde ici :
http://hackspire.unsads.com/wiki/index. ... and_Basics

Re: fonctions lua

Unread postPosted: 24 Apr 2011, 16:02
by killernight38140
d accord merci beaucoup pour ces réponses ( très ) rapide mais encore une question :
est ce que j ai le droit de declarer plusieurs fonctions on paint, pour qu apres une conditions je puisse ouvrir une fonction qui me permettra d'ecrire etc ... ?

merci d'avance

Re: fonctions lua

Unread postPosted: 24 Apr 2011, 16:12
by Levak
Tu as le droit de définir autant de fonction que tu désires même si tu ne les utilises pas.
Et c'est justement ce que tu décris qui est la bonne "voie de pensée".

Mais attention, donne un nom différent à ces fonctions et ne les fait pas préfixer de on. car on. est un objet auquel on a pas le droit de toucher. Dans tes fonctions tu auras surement besoin de gc, et tu auras surement envie de le passer en argument. Saches que tu n'es pas obligé car tu peux très bien appeler platform.gc() à la place (c'est la même chose seulement si tu es dans le on.paint() et fonctions auxiliaires).

Re: fonctions lua

Unread postPosted: 24 Apr 2011, 16:19
by killernight38140
merci beaucoup cela a reglé mon probleme

a bientot ( car j aurais surement d autre probleme :D: )