- AnarownMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014
[résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 15:14
Bonjour à tous,
J'aurais voulu savoir comment lancer un chronomètre après le passage d'une porte.
J'ai trouver l'option "Modifier Chronomètre" mais c'est en fait un "Compte-à-rebours" et non un Chronomètre.
En gros, y aurait-il un moyen de lancer un vrai chrono ?
D'avance merci.
J'aurais voulu savoir comment lancer un chronomètre après le passage d'une porte.
J'ai trouver l'option "Modifier Chronomètre" mais c'est en fait un "Compte-à-rebours" et non un Chronomètre.
En gros, y aurait-il un moyen de lancer un vrai chrono ?
D'avance merci.
- fake66Membre
- Nombre de messages : 61
Age : 37
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 15:54
Non pas en event avec le chronomètre du moins. Tu peut en revanche utiliser une variable et ajouter 1 à cette variable toute les 60 frames (si je ne m'abuse il y a 60 frame par secondes) et tu met ca en boucle. tu fait sortir de la boucle au moment voulus et tu auras ton temps en secondes dans une variable. sachant que lesnombres stocké dans les variable sont affichable dans les textes tu pourras la ressortir.
bonus:
-tu prend ta variable (disons variable 001 et qu'elle est egale à 134)
-tu la divise par 60 et tu met le resultat dans une autre variable.
001 = 134
002 = 2 (ce ne sont que des nombre entier si je me trompe pas.)
-tu multiplie la seconde variable par 60.
002 = 120
-tu retire de la première variable le resultat de la seconde.
001 = 134-120= 14
- tu divise la seconde variable par 60
002= 2
-tu affiche le message suivant "ton temps: \v[002] : \v[001]"
ce qui afficheras "ton temps 2 : 14"
bonus:
-tu prend ta variable (disons variable 001 et qu'elle est egale à 134)
-tu la divise par 60 et tu met le resultat dans une autre variable.
001 = 134
002 = 2 (ce ne sont que des nombre entier si je me trompe pas.)
-tu multiplie la seconde variable par 60.
002 = 120
-tu retire de la première variable le resultat de la seconde.
001 = 134-120= 14
- tu divise la seconde variable par 60
002= 2
-tu affiche le message suivant "ton temps: \v[002] : \v[001]"
ce qui afficheras "ton temps 2 : 14"
- AnarownMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 16:23
Salut et merci pour ton explication, mais je suis vraiment débutant (j'ai commencer hier) et j'ai encore du mal avec les variables.. Donc je vais essayer de trouver de la doc sur le sujet et je reviendrais essayer de déchiffrer le post :p
Je comprend le principe de la variable mais pas l'exemple cité (pourquoi 134 ect.. ?), en gros je cherche juste à lancer un chrono qui s'afficherais dans un des coin supérieur (style "Chronomètre" dans event) mais comme dit plus haut c'est un compte à rebours et non un chrono, y aurait-il moyen d'aller directement modifier le code du Chrono event pour en faire un vrai chrono et non plus un compte à rebours ?
Je comprend le principe de la variable mais pas l'exemple cité (pourquoi 134 ect.. ?), en gros je cherche juste à lancer un chrono qui s'afficherais dans un des coin supérieur (style "Chronomètre" dans event) mais comme dit plus haut c'est un compte à rebours et non un chrono, y aurait-il moyen d'aller directement modifier le code du Chrono event pour en faire un vrai chrono et non plus un compte à rebours ?
- NewMakerMembre
- Nombre de messages : 42
Localisation : Lunéville/Lorraine/France/Europe/Terre/Système Solaire
Distinction : aucune
Date d'inscription : 18/12/2014
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 16:52
Coucou,
j'ai modifié un script vite fait maintenant tu peux faire le timer dans les deux sens.
Pour lancer un timer qui va dans l'autre sens c'est simple tu fais appeler un script via événement et tu écris:
$game_timer.start(0, true)
0 c'est le chiffre à partir duquel doit débuter le timer puis ça s'incrémentera tout seul; voilà voilà.
j'ai modifié un script vite fait maintenant tu peux faire le timer dans les deux sens.
Pour lancer un timer qui va dans l'autre sens c'est simple tu fais appeler un script via événement et tu écris:
$game_timer.start(0, true)
0 c'est le chiffre à partir duquel doit débuter le timer puis ça s'incrémentera tout seul; voilà voilà.
- Spoiler:
- Code:
#==============================================================================
# ** Game_Timer
#------------------------------------------------------------------------------
# This class handles timers. Instances of this class are referenced by
# $game_timer.
#==============================================================================
class Game_Timer
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@count = 0
@working = false
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
if @proc == true # new timer
@count += 1 if @working
else # main timer
if @working && @count > 0
@count -= 1
on_expire if @count == 0
end
end
end
#--------------------------------------------------------------------------
# * Start
#--------------------------------------------------------------------------
def start(count, proc = false)
@proc = proc # false = main timer // true = new timer
@proc ? @count = 0 : @count = count
@working = true
end
#--------------------------------------------------------------------------
# * Stop
#--------------------------------------------------------------------------
def stop
@working = false
end
#--------------------------------------------------------------------------
# * Determine if Working
#--------------------------------------------------------------------------
def working?
@working
end
#--------------------------------------------------------------------------
# * Get Seconds
#--------------------------------------------------------------------------
def sec
@count / Graphics.frame_rate
end
#--------------------------------------------------------------------------
# * Processing When Timer Reaches 0
#--------------------------------------------------------------------------
def on_expire
BattleManager.abort
end
end
- AnarownMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 17:43
Tout grand merci NewMaker mais un fois le script ajouter dans éditeur de script en dessous de Materials (est-ce juste), mais comment faire pour l'activer en jeu ?
En gros je fais clique droit sur ma porte et je met quoi comme option, un interrupteur, une variable, autre ?
Encore merci pour l'aide apportée
En gros je fais clique droit sur ma porte et je met quoi comme option, un interrupteur, une variable, autre ?
Encore merci pour l'aide apportée
- NewMakerMembre
- Nombre de messages : 42
Localisation : Lunéville/Lorraine/France/Europe/Terre/Système Solaire
Distinction : aucune
Date d'inscription : 18/12/2014
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 17:49
De rien, j'avais oublié de mettre les précisions.
Tu vas dans l'éditeur de scripts. Tu cherches Game_Timer, tu le supprimes et le remplace
par le script que je t'ai passé. Pour l'utiliser c'est simple tu créer un nouvel événement puis rendez vous
troisième page: insérer un script et tu écris:
$game_timer.start(0, true)
Puis après tu ajoutes ta sauce ^^" avec les conditions par exemple
si le chrono est > à 1mn faire ceci faire celà.
Tu vas dans l'éditeur de scripts. Tu cherches Game_Timer, tu le supprimes et le remplace
par le script que je t'ai passé. Pour l'utiliser c'est simple tu créer un nouvel événement puis rendez vous
troisième page: insérer un script et tu écris:
$game_timer.start(0, true)
Puis après tu ajoutes ta sauce ^^" avec les conditions par exemple
si le chrono est > à 1mn faire ceci faire celà.
- AnarownMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014
Re: [résolu]Lancer un chronomètre
Lun 22 Déc 2014 - 17:53
Parfait ça fonctionne nickel, un tout grand merci à toi
- fake66Membre
- Nombre de messages : 61
Age : 37
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013
Re: [résolu]Lancer un chronomètre
Jeu 25 Déc 2014 - 8:21
Salut. désolé j'avais pas vus les réponses. pour le "134" c'était pour l'exemple. c'était 134 secondes. En script ce seras plus pratique pour toi. Mais si tu débute fait des petits test avec les variables et interrupteurs, ils sont très utiles dans le jeu. bon making
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|