Je me remets au Lua et pour cela, je me suis dit que faire un pong pourrait etre un bonne entrainement. Pour l'instant, j'ai juste commence la gestion des raquettes, et j'ai deja un probleme, je poste donc le code avec l'espoir d'etre rapidement aide.
Voici mon code:
- Code: Tout sélectionner
screen = platform.window
ww, wh = screen:width(), screen:height()
Pad = class()
function Pad:init(x,y) --rajouterai l pour la taille de la raquette plus tard
self.y = y
self.x = x
self.score = 0
--self.length = l
end
function Pad:move(dir)
if self.y < wh - 41 and self.y > 1 then
self.y = self.y + dir
end
end
function Pad:paint(gc)
gc:setColorRGB(255, 255, 255)
gc:fillRect(self.x, self.y, 6, 40)
end
player1 = Pad(5, wh / 2 - 20)
function on.paint(gc)
gc:setColorRGB(0, 0, 0)
gc:fillRect(0, 0, ww, wh)
end
Et c'est la que je bloque maintenant, je sais que j'ai su faire mais trou noir.
Mon but serait maintenant d'afficher les raquettes et de les faire bouger.
Donc je me suis dis je rajoute du code pour gerer les touches up et down (pour l'instant on ne va gerer que la premiere raquette):
- Code: Tout sélectionner
function on.arrowUp()
player1.move(-2)
screen:invalidate()
end
function on.arrowDown()
player1.move(2)
screen:invalidate()
end
Et bien sur ca ne rafraichit pas l'ecran et n'affiche pas les raquettes, et je ne peux pas les faire bouger.
Comment je fais pour reactualiser l'ecran, et appeller la fonction Pad:paint(gc), sans l'appeller explicitement? J'ajoute un
Pad:invalidate()
dans le Pad:move? Ca se fait?Voila si quelqu'un pouvait m'aider je lui en serais reconnaissant
Merci d'avance