AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 Temps joué + Fermeture du jeu + Option Clavier

Aller en bas 
4 participants
AuteurMessage
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyVen 20 Juil 2012 - 19:54

Salut, c'est encore moi !
( Ouais, je sais que ça fait 3 sujets en 3 jours mais bon ... )

Voila, donc en faite j'ai quelques questions :
1) Comment faire pour afficher le temps joué ?
J'avais pensé utiliser une Time-Line, mais finalement, je pense pas que je puisse m'en servir. ( Ou alors j'ai loupé un truc qui me permettrais d'incrémenter à chaque frame une variable depuis cette Time-Line ... )
Après, une fois le nombre de frame joué au total, j'divise par le nombre de FPS, et j'atteins le nombre de seconde jouer depuis le début ( Plus qu'à faire une conversion en heures/minutes ).
Est ce qu'on peut faire plus facile ?

2) Comment empêcher la fermeture du jeu avec Echap ?
J'ai beau aller dans Ressources/Global Settings/Other/Décocher Let <Esc> end the game mais quand je fait ça, je peux plus fermer le jeu avec la croix ...
Donc c'est pas super ...

3) Est ce que c'est possible de faire un système d'Option pour les touches ?
( En gros de base la touche Espace sert à sauter, dans le menu option on peu changer cette touche pour que ça soit "X". Pour sauter j'me sert de la commande :
Code:
keyboard_check_pressed(vk_space)
)


Merci d'avance !
Revenir en haut Aller en bas
gaeris
Pas mal



Messages : 35
Localisation : à [Nom de village imprononçable]

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyVen 20 Juil 2012 - 20:40

bonsoir

1 - Pour le temps joué, utilise current_time (affiche le temps joué en milliseconde je crois).

2 - global game settings -> other -> Let <Esc> end the game. happy1

3 - désolé, je sais pas ...
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyVen 20 Juil 2012 - 20:48

1) current_time renvoie le temps depuis quand l'ordinateur est allumé en faite ...

2) En faite, j'ai essayer de cocher la seconde case ( "Threat the close button as <Esc> key" ) ou au contraire de la laisser décocher, mais y a rien qui change ...
Je peux toujours pas quitter le jeu avec la croix ...
( Même si la première case est coché, et même si elle l'est pas ... )

EDIT :

3) Finalement, c'est pas dur, suffit juste de remplacer la touche voulu par une variable qui définie la touche.
Par contre, j'ai un soucis sur la sauvegarde/chargement des touches.
J'ai essayer avec :
Code:
ini_write_string ("Option","Jump",(global.key_jump))
Il m’écrit rien dans mon fichier INI.
Donc j'ai essayer avec :
Code:
ini_write_real ("Option","Jump",(global.key_jump))
Il m'écrit bien dans mon fichier INI, mais au chargement j'ai une erreur :
Citation :

Trying to read from undefined INI file
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyDim 22 Juil 2012 - 18:57

pour sauvegarder :


file = file_text_open_write('save.txt')

file_text_write_string(file,string(ta variable) )
file_text_writeln(file)


file_text_close(file)


pour charger :



if(file_exists('save.txt'))
file = file_text_open_read('save.txt')
else
return false
ta variable = file_text_read_real(file)
file_text_readln(file)


file_text_close(file)
return true
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyDim 22 Juil 2012 - 19:27

Finalement, pour la sauvegarde j'ai fait ça :
Code:
ini_open("Option.ini");
ini_write_real ("Option","Jump",((global.key_jump)))
ini_write_real ("Option","Pause",((global.key_pause)))
ini_write_real ("Option","Shoot",((global.key_shoot)))
ini_close();

Et pour le chargement :
Code:
if file_exists("Option.ini")
{ini_open("Option.ini");
global.key_jump=ini_read_real("Option","Jump",0);
global.key_pause=ini_read_real("Option","Pause",0);
global.key_shoot=ini_read_real("Option","Shoot",0);
}

Et ça marche. J'avais du oublier un truc la première fois ...

Le défaut de ton système Chop', c'est pas que j'aurais qu'une option par fichier ?
Ou le fichier lis la ligne suivant quand on passe sur la ligne :
file_text_readln(file)
?

Sinon, pour le reste pas d'idées ?
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyDim 22 Juil 2012 - 20:01

non tu peut y enregistrer autant de variables que tu veux, genre:

Code:

file = file_text_open_write('save.txt')

file_text_write_string(file,string(var 1) )
file_text_writeln(file)

file_text_write_string(file,string(var 2) )
file_text_writeln(file)

file_text_write_string(file,string(var 3) )
file_text_writeln(file)

file_text_close(file)

Pour ton deuxième problème, tu ne peux en effet pas fermer l'appli avec la croix quand tu désélectionne echap pour fermer,
Mais c'est pas bien grave, moi en principe je fait toujours lancé mes jeux en pleins écran et pour fermer le programme je fait par exemple echap ouvre la fenêtre de pause et je peux cliquer sur exit pour fermer le jeux avec game_end()
Ou alors tu peux créer une crois ou quand tu clic dessus le jeu ce ferme.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyDim 22 Juil 2012 - 20:21

Pour les sauvegarde faut vraiment éviter les fichiers ini.
Un fichier ini c'est un fichier d'options qui peuvent être facilement modifiées par l'utilisateur lambda.

Pour sauvegarder comme il faut utilise les fichiers binaires : http://host-a.net/onilink_/types.gml
(source: https://cbna.forumactif.com/t10171-tutoriel-non-finis-creer-ses-propres-sauvegardes )

C'est peut être pas aussi simple que les ini au début mais c'est bougrement pratique :p
Même si en gml c'est un peu bof (pas de structures ni rien, donc plus long d'écrire un loader)...

_________________
Temps joué + Fermeture du jeu + Option Clavier Runningpotato1Temps joué + Fermeture du jeu + Option Clavier TvF6GED Temps joué + Fermeture du jeu + Option Clavier MdetltS
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 17:52

Merci Oni, j'jetterais un oeil quand j'voudrais présenter une démo jouable ^^.
( Pour l'instant, mes fichiers Ini me suffisent largement ^^. Même si pour le coup, c'était juste pour des options ^^. )

Okay, merci Chop', j'vais le mettre dans mon menu alors ^^.

Sinon, j'avais deux questions en plus de celle du temps jouer :

4) Est il possible de donner des contours noir aux polices sans devoir créer sa propre police ?
J'avais pensé à un truc tout con, ré-écrire la fonction draw_text pour qu'il écrive 5 fois le texte en décalé ( Avec une en couleur, et les 4 autres en noirs ). Y a mieux ?

5) Comment effacer un sprite ?
J'ai commencer mon menu, et je le gère dans une boucle, sans objets pour pas m’embêter à en créer.
En gros, ça se présente comme ça :
Code:
if keyboard_check_pressed(global.key_pause)
{
{//pause
ax=0
ay=0
curs_x=0
curs_y=0
index=0
m_x=128-88
m_y=120-32

draw_sprite(PAUSE,0,ax,ay)
draw_sprite(PauseMenu,0,m_x,m_y)
draw_sprite(Choice_Cursor,0,curs_x,curs_y)
draw_text(m_x+4,m_y-8,"Menu")

draw_text(m_x+16,m_y+8,"Retour")
draw_text(m_x+16,m_y+24,"Quitter le Niveau")
draw_text(m_x+16,m_y+40,"Quitter le jeu")

keyboard_clear(global.key_pause)
var loop ; loop = true
while (loop) {
io_handle()
if keyboard_check(vk_up)
{index+=1
if index>2
index=2}
if keyboard_check(global.key_pause)
{loop=false}
if keyboard_check(global.key_jump)
{if index==0
{loop=false}
if index==1
{loop=false
room_goto(MapMonde)}
if index==2
{loop=false
game_end()}}
screen_refresh()
}
keyboard_clear(global.key_jump)
keyboard_clear(global.key_pause)}}

Donc je créer mon sprite "Choice_Cursor", mais quand je veux l'effacer avec :
Code:
sprite_delete(Choice_Cursor)
Pour le récréer derrière, bah il me donne une erreur :
Citation :
Trying to draw non-existing sprite.
Comment je peux faire du coup ?
( Sachant que je veux juste modifier sa position )


Dernière édition par Lahn le Mar 24 Juil 2012 - 18:04, édité 1 fois
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 17:56

Pour 4) sous GM je vois pas vraiment d'autre solution. (y en a bien mais je pense pas qu'elles soient moins lourdes, ou pas de beaucoup)

Sinon pour les sprites, ne jamais supprimer un sprite contenu dans les ressources de GM.
A la place utilise plutot les fonctions comme sprite_replace, sprite_assign, etc.

Sinon tu peut expliquer ce que tu veux pour ton menu? Ton code est trop illisible pour moi x)
Si tu veux juste modifier sa position utilise des variables.

_________________
Temps joué + Fermeture du jeu + Option Clavier Runningpotato1Temps joué + Fermeture du jeu + Option Clavier TvF6GED Temps joué + Fermeture du jeu + Option Clavier MdetltS
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 18:08

4) Okay. J'vais essayer de faire comme ça alors.

5)
En gros, quand j'appuie sur la touche contenu dans la variable global.key_pause ( On va dire X ), j'entre dans une boucle pour freezer le jeu.
Avant de rentrer dans la boucle, je créer les différents sprite qui ne bougent pas. ( "Pause", "Pause_Menu", et les textes. )
Et lorsque j'appuie sur Haut/Bas le curseur ( "Choice_Cursor" ) monte ou descend.
Et en faite, j'arrive pas à déplacer mon sprite une fois créer ...
Et je ne vois pas dans l'aide comment faire en faite ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 18:21

Ben pour afficher ton sprite il faut user de la fonction draw_sprite(sprite, image, x, y)
Pour décaler tes sprites il suffit de créer deux variables de coordonnées, voir une seule si le déplacement ne seras que vertical ou horizontal.
Ensuite il te suffit d'afficher le sprite en prenant en compte cette variable:
draw_sprite(sprite, image, x, y + hauteur)

et de modifier la variable en question pour bouger tes sprites.

_________________
Temps joué + Fermeture du jeu + Option Clavier Runningpotato1Temps joué + Fermeture du jeu + Option Clavier TvF6GED Temps joué + Fermeture du jeu + Option Clavier MdetltS
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 18:25

Le truc, c'est justement que si je modifie ma variable, bah mon sprite bouge pas ...

J'affiche mon sprite en dehors de la boucle :
draw_sprite(Choice_Cursor,0,curs_x,curs_y)
Et dans ma boucle, je met :
curs_y+=1
Sauf que mon sprite ne bouge pas ...
Et si j'affiche le sprite dans la boucle, les anciens ne s'effacent pas, et du coup, ça me fait une multitude de curseur d'afficher ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 18:32

Ouai en regardant ton code je pense que t'y prend mal.

Le mieux pour faire un menu pause, c'est d'utiliser la boucle step, et bloquer toutes les instances qui doivent être affectés.
(tu peut par exemple mettre au début de chaque step de tes objet un if(global.pause) exit)

_________________
Temps joué + Fermeture du jeu + Option Clavier Runningpotato1Temps joué + Fermeture du jeu + Option Clavier TvF6GED Temps joué + Fermeture du jeu + Option Clavier MdetltS
Revenir en haut Aller en bas
Lahn
Pas mal



Messages : 35

Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier EmptyMar 24 Juil 2012 - 18:54

Finalement, j'ai utiliser la fonction
screen_redraw()
Et j'ai mis mon affichage dans Draw ( Avec une condition pour pas l'afficher n'importe quand ).

J'voulais éviter justement les steps en faite.
Devoir mettre une condition dans tout mes objets ... Mouais quoi ^^".


Me reste plus que la question sur le temps jouer ...
Une idée ?
Revenir en haut Aller en bas
Contenu sponsorisé





Temps joué + Fermeture du jeu + Option Clavier Empty
MessageSujet: Re: Temps joué + Fermeture du jeu + Option Clavier   Temps joué + Fermeture du jeu + Option Clavier Empty

Revenir en haut Aller en bas
 
Temps joué + Fermeture du jeu + Option Clavier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bug + fermeture auto de GM
» Erreur a la fermeture du jeux.
» Comment changer la couleur d'un sprite (option dans le jeu)
» L'OPTION!!!!!!!
» Option changement de touches

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: