S’enregistrer  FAQ  Rechercher  Membres  Groupes  Profil  Se connecter pour vérifier ses messages privés  Connexion 


 Informations 
GAGNEZ DES CADEAUX ET DE L'ARGENT GRATUITEMENT:
http://jeuxgratuit.xooit.fr/index.php

PackBarre.com
  
Cours n°5: Votre premier jeu LUA

 
Poster un nouveau sujet  Répondre au sujet   Download PSP Index du Forum » Spécial Admin, Co-Admin et Modo » Corbeille
Sujet précédent :: Sujet suivant  
Auteur Message
No_FuTuR
Niveau Max (100 messages)
Niveau Max (100 messages)


Hors ligne

Inscrit le: 15 Sep 2007
Messages: 503
Fort - Pro
Firmware PSP: 3.90 M33 FR
Point(s): 563
Internet explorer Vista

MessagePosté le: Mer 9 Avr 2008 - 17:18    Sujet du message: Cours n°5: Votre premier jeu LUA Répondre en citant
Cours n°5: Votre premier jeu LUA.

Bonjour, bienvenu dans ce cours numero 5
Pour bien compendre ce que je vais vous apprendre, vous devez avoir bien lu les 4 cours précédents!

Aujourd'hui je vais vous apprendre les bases pour créer un "mario like", et oui je suis sur que vous avez toujours rêver de programmer un jeux et bien vous pourrez le faire après ce cours


Tout d'abord, chargeons les images dont on aura besoin pour notre jeux.

 


Code:

[size=12]--images
background = Image.load("background.png")
marioleft = Image.load("marioleft.png")
marioright = Image.load("marioright.png") [/size]





"Background" étant le fond d'écran, "marioleft" est l'image de mario regardant vers la gauche et "marioright" celui regardant vers la droite.
Pour le moment rien de bien compliqué, je rappelle une fois de plus que vous pouvez changer le nom de l'image et de la variable.
Maintenant nous allons créer deux variables donnant la position de départ de notre mario, "positionY" étant la largeur de la psp et "positionX" la longeur :


Code:
[size=12]--position de depart
positionY = 210
positionX = 30 [/size]





Ensuite nous devons définir les touches de notre psp, nous allons utilisé la même méthode que dans le cours n°4 mais bien évidement, avec quelques nouveautés :



Code:

[size=12]if pad:left() then
statut = "left"
x = x+3
end

if pad:right() then
statut = "right"
x = x-3
end

if statut == "left" then screen:blit(positionX, positionY, marioleft)
end
if statut == "right" then screen:blit(positionX, positionY, marioright)
end [/size]




Je vais vous expliquer les lignes de codes que je viens d'ajouter, la premiere vous la connaissez, mais vous devez vous demander pourquoi j'ai mis x = x+3 et x = x-3 !? Et bien c'est très simple. Tout d'abord nous devons donner la valeur zero a x donc:
x = 0.
Quand on actionne la touche gauche ou droite, mario ce promènera sur notre écran et avancera de 3 pixel, plus on augmente les pixels, plus mario ira vite!. Maintenant je vais vous expliquer en quoi consiste les statuts.
En premier on va définir les deux statuts que l'on a besoin,
"if statut == "left" then screen:blit(positionX, positionY, marioleft)".
Fe traduis cette ligne de code en language litteral, ce qui donne "si le statut est égal à gauche, alors affiche la positonX,positionY et marioleft".
On fais exactement la même chose pour le statut de droite, vous avez maintenant compris en quoi consiste la création des statuts.
Biensur, il existe d'autre méthode mais je trouve que celle ci est la plus facile et c'est celle que j'ai apprise à mes début. Je vais vous montrer ce qui se passe sans l'utilisation de statut :



Code:

[size=12]if pad:left() then
screen:blit(positionX, positionY, marioright)
x = x+3
end [/size]





Quand ont appuira sur la touche de gauche, mario ira vers la gauche mais quand ont lachera toutes les touches, le personne disparaitra.

Si vous essayer votre jeu maintenant, votre mario pourra ce balader de droite à gauche et de gauche à droite évidemment, mais nous avons plusieurs problèmes :
- quand mario arrive aux extrémités de l'ecran, il disparait tout simplement de notre psp.
- il n'y a pas de fond d'écran et le décord ne défile pas, un peu dommage pour un mario


Tachons de résoudre le premier problème, nous allons ajouter quelques lignes de codes :


Code:
[size=12][/size]
[size=12]if pad:left() then
statut = "left"
x = x+3

if positionX>10 then
positionX=positionX-1
end
end

if pad:right() then
statut = "right"
x = x-3

if positionX<462 then
positionX=positionX+1
end
end[/size]
[size=12] [/size]





Prenons les lignes rajoutées à la fonction left :


Code:
[size=12][/size]
[size=12]if positionX>10 then
positionX=positionX-1[/size]
[size=12] [/size]




Cela signifie que notre mario sera bloqué à 10 pixel du bord de l'écran gauche, si par exemple vous voulez le bloquer à 3 pixel, remplacer le 10 par un 3.
Maintenant résolvons le deuxieme probleme! Voici le code a rajouter :


Code:
[size=12][/size]
[size=12]screen:blit(x, 0, background)
screen:blit(x+480, 0, background)
screen:blit(x-480, 0, background)
if x == -480 or x == 480 then x = 0 end[/size]
[size=12] [/size]






Ces 4 lignes signifie que il y aura un défilement du background de 480 vers la gauche et de 480 vers la droite selon le déplacement éffectuer.
Voici une image du jeu finit :



Téléchargez le cours complet (code source + images)
ici



FIN



Plusieurs tuto seront disponible par la suite !


Tuto par benja32 de gueu-forum 

---------------------------------------------------------------------------------------------------------------------------------------------------




Mer 9 Avr 2008 - 17:18
Visiter le site web du posteur
Auteur Message
Publicité




MessagePosté le: Mer 9 Avr 2008 - 17:18    Sujet du message: Publicité
PublicitéSupprimer les publicités ?
Mer 9 Avr 2008 - 17:18
Poster un nouveau sujet  Répondre au sujet   Download PSP Index du Forum » Corbeille

Page 1 sur 1
Toutes les heures sont au format GMT + 1 Heure

Montrer les messages depuis:

  

Sauter vers:  

Portail | Index | Panneau d’administration | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
© 2007 - 2010 Download PSP Inc. Tous droits réservés.