:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > PlayStation Portable > Tutoriels

Tutoriels Tutoriels dédiés au développement sur PlayStation Portable

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 02/09/2007, 17h52   #1
jbskateur
Membre
 
Date d'inscription: 01/09/2007
Messages: 20
Par défaut LUA, les mouvements

Bon on sait par exemple afficher un petit bonhomme ou autre image grâce au tuto précédant, mais comment faire bouger cette image?? Et bien voici un code que nous allons examiner :
Code:
--couleur
blanc = Color.new(255,255,255)

perso = Image.createEmpty(32,32)
perso:clear(blanc)

persox=10
persoy=10

statut="normal"
--boucle principale

while true do
screen:clear()
pad = Controls.read()

screen:blit(persox, persoy, perso)

if pad:left() then
persox = persox+3
if persox>10 then
persox=persox-1 
end
end

if pad:right() then
persox = persox-3
if persox<470 then
persox=persox+1 
end
end

if pad:up()then
persoy = persoy+3
if persoy>10 then
persoy=persoy-1
end
end

if pad:down()then
persoy = y-6
if persoy<256 then
persoy=persoy+1
end
end

screen.waitVblankStart()
screen.flip()
end
On commence par une variable de couleur (vous connaissez, pas besoin de détailler) ensuite vient :
Code:
perso = Image.createEmpty(32,32)
perso:clear(blanc)
Si vous traduisez en francais vous obtenez un truc du genre "perso vaut une création d'image vide" et bien, vous n'avez pas tort !
En effet perso = Image.createEmpty nous indique la création d'une image vide dans la RAM au format 32x32 (ce qui est dans la parenthèse)
ensuite vient :
perso:clear(blanc)

Ce qui veut dire que cette image perso sera de la couleur de ma variable blanc.

Citation:
Oui c'est bien gentil ça mais ça ne m'explique pas les mouvement
Pour ma défense je tiens à dire que j'ai introduis ça pour que vous puissiez tester le code ci-dessus sans intégrer d'image

Bon passons au mouvement :

Nous avons créé une variable persox et persoy qui comme vous le devinerez contiendrons les valeurs de la position de notre personnage sur l'écran, on va dire donc que notre personnage apparaîtra au début à 10,10 et donc dans notre boucle principale, on affiche notre image (perso) a persox, persoy:
screen:blit(persox,persoy,perso)

Maintenant comment il va bouger ? Prenons comme exemple la touche gauche :
Code:
if pad:left() then
persox = persox+3
if persox>10 then
persox=persox-1 
end
end
donc

if pad:left() then ----> si j'appuis sur gauche alors :
persox = persox + 3 on augment de 3 la valeur de persox (et par conséquence, notre image se décale vers la gauche de 3 pixels)

Citation:
Bah c'est bon mon perso a bougé, pourquoi tu nous a rajouté du code encore !
Et bien tout simplement parce que au bout d'un moment, notre cher bonhomme sortira de l'écran si il dépasse les 480pixels (voir même avant)
Donc :

if persox>10 then
persox=persox-1

sert à bloquer le personnage.

puis on ferme les deux if :

end
end

Voilà voilà, excusez pour les fautes d'orthographes et si vous avez des questions, n'hésitez pas !

Dernière modification par Ass-Itch ; 02/09/2007 à 18h09. Motif: Ortographe
jbskateur est déconnecté   Réponse avec citation

Publicité

Vieux 02/09/2007, 18h09   #2
Ass-Itch
Graphiste / Modérateur
 
Date d'inscription: 05/09/2006
Localisation: Périgueux (24)
Messages: 2 387
Voir les codes amis Wii
Par défaut

Un petit coup de balai vite fait sur les fautes, et hop Bonne continuation.
__________________
Projet en cours :

Ass-Itch est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h49.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince