Introduction
La reconnaissance de touches est devenu obligatoire pour le codage en Lua vu que tout homebrew qui se respecte contient un systeme d'appuie de touches. Par consequent ce tuto est indispensable.
On commence le code
Il faut d'abord savoir que la reconnaissance de touches n'a rien de compliqué, c'est juste qu'il faut en connaître le code.
Pour gérer l'appuie de touches, vous n'avez rien à charger, par consequent nous ouvrons directement la boucle:
Code
while true do
screen:clear()
|
Il faut bien entendu faire comprendre dans votre code que vous voulez vous servir des touches, et vous allez le faire grace à ceci:
Code
pad = Controls.read()
|
Ce bout de code va donc vous permettre d'activer les touches dans votre code. Passons maintenant au reste, par exemple vous voulez appuyer sur croix:
Code
if pad:cross()then
(ce que vous souhaitez faire)
end
|
Alors, vous devez vous demandez ce que c'est tout ça.
Pour faire simple, voici la traduction de ce que vous allez faire:
Code
si j'appuie sur croix alors
(action que je souhaite réaliser)
fin
|
Voila, vous souhaitez par exemple afficher un texte, vous remplacer la deuxième ligne ce qui donne ça:
Code
if pad:cross() then
screen:print(150,100,"Touche X pressé",blanc)
end
|
Bien sur, vous devez suivre ce que nous vous avons expliqué dans les anciens tuto.
Voila vous savez maintenant comme faire. Ne vous inquiétez pas, je ne vous laisse pas comme ça, voici toutes les touches que vous pouvez avoir besoin (je les donne surtout pour les anglophobes):
Code
if pad:cross() then
(mon action)
end
if pad:circle() then
(mon action)
end
if pad:square() then
(mon action)
end
if pad:triangle() then
(mon action)
end
if pad:l() then
(mon action)
end
if pad:r() then
(mon action)
end
if pad:select() then
(mon action)
end
if pad:start() then
(mon action)
end
if pad:up() then
(mon action)
end
if pad:down() then
(mon action)
end
if pad:left() then
(mon action)
end
if pad:right() then
(mon action)
end
if pad:hold() then
(mon action)
end
|
Voila, vous avez tout ce qu'il faut.
Pour les petits curieux ou encore les insatisfaits, j'ai quelques chose pour vous. Vous souhaitez que par exemple la touche croix ne puisse pas fonctionner, rien de plus simple, vous faites ceci:
Code
if pad:cross() then
end
|
Vous ne mettez aucune action.
on termine ensuite le code avec le procédé habituel, soit fermeture de la boucle:
Code
screen.waitVblankStart()
screen.flip()
end
|
Le code entier
Code
while true do
screen:clear()
pad = Controls.read()
if pad:cross() then
(mon action)
end
if pad:circle() then
(mon action)
end
if pad:square() then
(mon action)
end
if pad:triangle() then
(mon action)
end
if pad:l() then
(mon action)
end
if pad:r() then
(mon action)
end
if pad:select() then
(mon action)
end
if pad:start() then
(mon action)
end
if pad:up() then
(mon action)
end
if pad:down() then
(mon action)
end
if pad:left() then
(mon action)
end
if pad:right() then
(mon action)
end
if pad:hold() then
(mon action)
end
screen.waitVblankStart()
screen.flip()
end
|
Et pour finir voici un script qui regroupe les 4 premiers tuto. Il n'y a que les touches croix, carré, triangle et rond.
| |
- Les homebrews sont exploitables via une PSP en Custom Firmware ou 1.5
- PSP Classique : Extraire vers PSP/GAME3XX
- PSP Slim & Lite : Extraire vers PSP/GAME
|
|