SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: [Exemple] Quick Time Event Lun 18 Juin 2012 - 9:54 | |
| Après avoir résolu mon problème, j'ai fais quelques scripts pour faciliter la création de QTE. Ce n'est pas parfait mais ça peut toujours être utile en cas de besoin. Script GML: - Code:
-
#define qte_create // var id = qte_create() var i, str_c, str_s; i = object_add()
// Event Create str_c = " time = 0 // Time paused = true // If QTE is paused ret = 0 // Returned value ended = false // if QTE is ended " object_event_add( i, ev_create, 0, str_c )
// Event Step str_s = " if (!paused) time += 1000/room_speed ; " object_event_add( i, ev_step, ev_step_normal, str_s )
// Create instance instance_create( 0, 0, i )
// Return object id return i;
#define qte_destroy // qte_destroy( id ) with ( argument0 ) instance_destroy(); object_delete( argument0 )
#define qte_perform // qte_perform( id ) // Perform or Resume a QTE (argument0).paused = false ;
#define qte_pause // qte_perform( id ) // Perform or Resume a QTE (argument0).paused = true ;
#define qte_add_event // qte_add_event( time0, time1, code, id ) // Add a QTE from the time0 to time1 // When true the code is executed var str; str = "if ( time >= "+string(argument0)+" && time <= "+string(argument1)+ " ) { "+string(argument2)+" }" + "if ( time >= "+string(argument1)+" ) { ended = true }" ;
return object_event_add( argument3, ev_draw, 0, str ) ;
#define qte_add_wait_event // qte_add_wait_event( value, code, id ) // Execute the code until ret = value var str; str = " if ( ret != "+string(argument0)+" ) { "+string(argument1)+" } else { ended = true }" ;
return object_event_add( argument2, ev_draw, 0, str ) ;
#define qte_clear // qte_clear( id ) with ( argument0 ) {
time = 0 // Time paused = true // If QTE is paused ret = 0 // Returned value ended = false // if QTE is ended
}
return object_event_clear( argument0, ev_draw, 0 ) ;
#define qte_end // qte_end( id ) // End the QTE
(argument0).ended = true ;
#define qte_return // var = qte_ret( id ) // Return the QTE's return value
return (argument0).ret ;
#define qte_is_ended // var = qte_is_ended( id ) // Return true if the QTE is ended
return (argument0).ended ;
Et un exemple d'utilisation : QTE.gm6. |
|
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: [Exemple] Quick Time Event Lun 18 Juin 2012 - 14:54 | |
| Je suis certain que la plupart des gens ne savent pas ce que tu veux dire par QTE. Ça serait bien que tu le précise. |
|
SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: [Exemple] Quick Time Event Lun 18 Juin 2012 - 15:56 | |
| Pour faire simple un QTE (Quick Time Event) c'est un évènement qui s'inscrit dans un laps de temps défini (en général très court) durant lequel le joueur sera soumis à un "choix" (en l’occurrence une pression de touche). Après beaucoup de jeux utilisent ce système (cf: wikipedia) même s'il y a quelques variances. Du genre la touche que l'on doit appuyer n'est pas affichée à l'écran (Dragon's Lair), ou autre. Bref voici un peu de lecture (ou pas) : Wikipedia ( en / fr ). |
|
Contenu sponsorisé
| Sujet: Re: [Exemple] Quick Time Event | |
| |
|