Skip to content
This repository has been archived by the owner on Jul 24, 2020. It is now read-only.

Création d'un QTE

BilouMaster Joke edited this page Jan 13, 2015 · 20 revisions

Les QuickTimeEvent, ou QTE consiste à limiter le joueur dans ses actions. Par exemple, un QTE sera l'attente d'une succession de touche dans un bon ordre. RME dispose d'une commande pour faciliter la création de QTE.

qte(key, time, *strict)

Attend la saisie d'une touche pendant une durée donnée. La commande renvoie true si la touche a été saisie, false sinon.

Nom|Type|Description
--- | --- | ---
key|Symbol|Touche qu'il faut presser avant la fin
time|Fixnum|Durée
*strict|Boolean|Difficulté, si elle vaut true, aucune erreur admise, sinon erreur admises. Par défaut vaut true

Concrètement, lorsque cette commande est appelée, on attendra la saisie de la touche dans le temps impartit. Par exemple :

QTEA

Au déclenchement de l'évènement, attendra 60 frames. Si avant les 60 frames, le joueur appuie sur une autre touche que la touche :A (par défaut : shift), l'évènement affichera "Vous avez perdu". Si le temps est écoulé avant que le joueur ait pu appuyer sur la touche :A, l'évènement affichera aussi "Vous avez perdu", par contre, si le joueur appuie sur la bonne touche avant le temps impartit, l'évènement affichera "vous avez gagné".

Si l'attribut strict avait été mit à false, le joueur aurait eu le droit de faire des fautes durant le temps impartit. Cependant, je préfère les QTE's où l'on a pas droit à l'erreur !

Example avec affichage d'image

Voici un example de QTE avec affichage d'image :

QTEA

Concrètement, on affiche une image (qui correspond au caractères à afficher, moi ici, je n'utilise que des flèches). On le fait se déplacer (je fais un zoom) de la durée du QTE, et ensuite on vérifie le QTE, et on répète cette opération pour tous les éléments de la combinaison à vérifier. J'utilise des étiquettes pour ne dire qu'une fois si on a échoué ou non. (Ce QTE est très dur car je n'ai mis que 20 frames de délai !)

Il faudrait évidemment effacer l'image 1 une fois que le QTE est fini.

Génération de combinaison

Cette dernière manière est tout de même peu pratique ! En effet, imaginons que nous ayons 250 actions dans notre QTE ! Nous allons voir une autre commande très pratique :

random_combination(len, *keys)

Renvoi une combinaison (tableau itérable) aléatoire de la taille spécifiée en argument, composés des paramètres des touches passées en arguments. (par exemple : random_combination(5, :UP, :DOWN, :LEFT, :RIGHT ) )

Nom|Type|Description
--- | --- | ---
len|Fixnum|Args description
*keys|Argslist|Liste des touches pouvant constituer la combinaison

Il s'agit d'un tableau, pour ceux qui ne s'en souviennent pas, on peut parcourir des tableaux dans RME. Concrètement, il suffit de générer une combinaison, dans une variable par exemple, et de parcourir cette combinaison en affichant l'image correspondante. Démonstration :

QTEA

Concrètement, on génère une combinaison aléatoire que l'on parcourt. Ce qui permet de générer rapidement des QTE à taille variables !

QTE Infini

Faire un QTE Infini fonctionne presque exactement de la même manière, sauf qu'il ne faut pas se soucier de l'itérateur. Pour ça on se sert de la commande :

pick_random(*elts)

Renvoi un élément au hasard du tableau (ou de la liste d'argument)

Nom|Type|Description
--- | --- | ---
*elts|ArgsList|éléments dans lequel piocher un élément aléatoire. Soit pick_random(a, b, c, d...etc.) soit pick_random([a,b,c,d...etc])

Par exemple :

QTEA

On génère l'élément de la combinaison à chaque passage dans la boucle.

Rendu en GIF

Voici un petit rendu (trop lourd) des deux derniers exercices :

QTEA

Touches autorisées

Toutes les touches décrites ici sont autorisées. Cependant, je conseil de n'utiliser que celle de RPGMaker (c'est à dire :A, :C, :B, :UP, :DOWN, :LEFT, :RIGHT, :X, :Y, :Z, :L, :R ) car ce sont des touches pouvant être paramétrer par l'utilisateur.

Clone this wiki locally