Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV

Apprendre
RPG Maker

Guides
Tutoriels
Making-of

Dans le
Forum

Section Entraide

Tutos: Ren'Py - Combiner les (...) / Tutos: Réaliser un pathfinder sur (...) / News: Cérémonie des Alex d'or 2020 / Jeux: Beetle Ninja / Jeux: Le Miroir de Philéas / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

110 connectés actuellement

10806054 visiteurs
depuis l'ouverture

1098 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Le Studio du Chat Vert

Offgame

Kingdom Ultimate

New RPG Maker

Tous nos partenaires

Devenir
partenaire



Touche pressée toujours reconnue
Ecrit par Anton_ le 26/10/2013

Alors comme ça le code touche il fait des siennes ?
On a beau maitenir une touche, mais des fois, pendant quelque frames, le code touche s'annule ?
Même si on y met une pression à bousiller le clavier ?

Alors, voici une astuce qui permettra au code touche d'être plus sympa avec vous.

On va juste prendre l'exemple des quatre touches directionnelles, pour l'instant.

tout d'abord, il faut réserver au moins :
deux fois le nombre de touches différentes en interrupteurs (dans notre exemple, c'est huit)
-Appui Haut
-Appui Droite
-Appui Gauche
-Appui Bas

-Front Haut
-Front Droite
-Front Gauche
-Front Bas

une fois le nombre de touches concernées, plus un, en variables.
-Attente Haut
-Attente Droite
-Attente Gauche
-Attente Bas

-Attente Globale

(sans avoir compté le code touche)

-Touche Haut Bas
-Touche Gauche Droite

(on peut très bien mettre quatre demandes de touches pour les flèches directionnelles, mais deux c'est mieux)


La variable "attente globale" sert à contrôler le temps de passabilité d'une touche en frames.
En gros, si vous maintenez une touche et que son contrôle foire, il se passe un certain temps avant que son interrupteur lié soit désactivé.

Avec Attente globale = 0, c'est exactement comme le code touche habituel ...
Attente globale = 5+ est à éviter tout autant, car il empêche le martelage correct d'une touche lors d'un QTE.

Personellement, j'ai mis Attente globale = 2, et je m'en porte très bien.

Bon, passons à l'event making :

Tout se fait dans un event commun à processus parallèle.
(ou alors, il peut aussi être lancé par appel depuis un event en démarrage automatique si seulement il l'appelle à chaque frame, dans ce cas, enlevez le "attendre 0.0 sec au début)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
 
# X concerne une seule direction.
# le code entier fait donc en gros quatre fois ça.
 
 
#début
 
Attendre 0.0 Sec
 
Appui Touche : Haut Bas
Appui Touche : Gauche Droite
#note : vous pouvez evidemment ne faire q'une ou quatre demandes d'appui touche.
 
 
# On désactive les pulses qui ont étés activés lors de l'itération précédente
SI Front X ON
{
SWITCH Front X OFF
}
 
SI Appui X OFF
{
SI touche X pressée (avec la variable)
 {
  VARIABLE Attente X = Attente globale
  SWITCH Front X ON
  SWITCH Appui X ON
 #vous pouvez mettre des sons ici pour savoir sur quelle touche vous appuyez lors d'un quelconque débug.
 }
 
}
SINON
{
SI touche X pressée (avec la variable)
 {
  VARIABLE Attente X : = Attente globale
 
 }
 SINON
 {
 SI Attente X > 0
  {
  VARIABLE Attente X : - 1
  }
  SINON
  {
  SWITCH Appui X OFF
  #pareil, un bruitage ici prouvera à quel moment le jeu considère que la touche n'est plus appuyée
  }
 }
}
#-- >répéter 4 fois pour chaque X = haut, droite, gauche, bas
#pensez a bien concorder les conditions des variables selon la direction concernée
 
#fin
 
 



Cela doit pouvoir fonctionner également en remplaçant X par "Confirmer" "Annuler" "Shift" et compagnie.

Désormais, il ne vous reste plus qu'à changer les conditions du genre (si variable "touche haut" = 4)
par
(si interrupteur "Appui Haut" ON)


BoubouLeHibou - posté le 27/09/2015 à 05:24:54 (196 messages postés)

❤ 0

Boubou pas content

Tiens... Boubou fait les choses de la même façon ! Pratique pour ne serait-ce qu'une "attaque tornade" dans un fangame Zelda !
Joli tuto Anton_.

Boubou a mis Oniro' dans son fichier hosts et ne reviendra plus à cause des méchants zutres.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Articles perso | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Jeux complets | Tous les jeux | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers