AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Mon code ne fais pas ce qu'il devrais faire du tout

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Waving
Nouveau
avatar

Messages : 3

MessageSujet: Mon code ne fais pas ce qu'il devrais faire du tout   Mer 9 Juil 2014 - 19:55

Je vous explique, quand je lance le jeu par GM Studio, il ne se lance pas, par contre, si je le compile manuellement et que je le lance, le jeu va s'ouvrir tous seul plusieurs fois comme un virus. Je comprends pas du tous pourquoi mon code fais sa car vraiment, je vois aucune fonction dedans qui pourrait faire que le jeu ouvre lui même plusieurs fois.
Le code est dans l'event Step:

Spoiler:
 
Revenir en haut Aller en bas
Craki
Utilisateur confirmé: Rang ****
avatar

Messages : 1469
Localisation : Dans l’univers de métamatière

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Mer 9 Juil 2014 - 20:16

Ça ne va pas du tout. crossa

"right", "left" et "up" sont des chaines de caractère traduites en nombre par leur place dans la mémoire. Or, GM n’attend la position d’une variable dans la mémoire mais l’id d’une touche du clavier. C’est pour ça qu’on utilise les variables vk_right, vk_left et vk_up.

Aussi, ça ne sert à rien de faire un if blablabla == true. if blablabla suffit et est bien plus élégant.

_________________
Revenir en haut Aller en bas
Waving
Nouveau
avatar

Messages : 3

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Mer 9 Juil 2014 - 20:40

Craki a écrit:
Ça ne va pas du tout. crossa

"right", "left" et "up" sont des chaines de caractère traduites en nombre par leur place dans la mémoire. Or, GM n’attend la position d’une variable dans la mémoire mais l’id d’une touche du clavier. C’est pour ça qu’on utilise les variables vk_right, vk_left et vk_up.

Aussi, ça ne sert à rien de faire un if blablabla == true. if blablabla suffit et est bien plus élégant.

Justement les vk_... c'est ce que je cherchais, sauf que je tapais le mauvais truc (kb_...) donc vu que je trouvais pas je me suis dis que c'était "direction". Et je sais pour les if (variable) c'est juste que c'était pour mieux comprendre mon code  happy1 
Sinon merci, je vais essayé

Edit: http://puu.sh/a47H7/efd07da2ed.png Cela n'a pas réparé sa. Le processus refait ce qu'il faisait, cela n'a pas l'air de venir du script mais du compilateur de GM  horror
Edit 2: C'est bon, j'ai retéléchargé GMS, maintenant mon problème est que mon personnage avec place_meeting(x,y+1) rentre dans le sol et y+3 il reste en dehors (y+2 aussi fais rentré dans le sol)
Code:

//Basic Movements

if keyboard_check_pressed(vk_right) and place_free(1,y) {
    hspeed = 6
}
else if keyboard_check_pressed(vk_left) and place_free(-1,y) {
    hspeed = -6
}
else if keyboard_check_pressed(vk_up) and place_meeting(x,y+2,o_solid) {
    vspeed = -8
}

if keyboard_check_released(vk_left) or keyboard_check_released(vk_right) {
    hspeed = 0
}

//Player engine

if !place_meeting(x,y+3,o_solid) {
    gravity = 0.5
    gravity_direction = 270
} else if place_meeting(x,y+3,o_solid) {
    vspeed = 0
    gravity = 0
}
Le personnage rentre aussi dans le sol dès fois par rapport à la hauteur d'on il tombe.
Revenir en haut Aller en bas
Craki
Utilisateur confirmé: Rang ****
avatar

Messages : 1469
Localisation : Dans l’univers de métamatière

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Mer 9 Juil 2014 - 23:05

Dans, ce cas, fais y + vspeed ou un truc du genre. Pour coller le perso au sol lors d’une collision, il suffit de faire une boucle de ce genre :
Code:
while !place_meeting(x,y + 1,o_solid)
    y += 1

_________________
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
avatar

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
...

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Jeu 10 Juil 2014 - 0:11

heu normalement avec une boucle comme ça l'objet va se coller directement contre l'objet solide  beh 
Moi je ferrais plutôt ça comme ça.

for(i=0;i<vitesse;i+=1)
{
if place_free(x,y+1)
{y+=1}
}

_________________
Spoiler:
 
Revenir en haut Aller en bas
Craki
Utilisateur confirmé: Rang ****
avatar

Messages : 1469
Localisation : Dans l’univers de métamatière

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Jeu 10 Juil 2014 - 19:25

chopsuey a écrit:
heu normalement avec une boucle comme ça l'objet va se coller directement contre l'objet solide  beh
C’est pour ça que j’ai dit de le faire pendant une collision. crossa

_________________
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
avatar

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
...

MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   Jeu 10 Juil 2014 - 20:03

A oui ok  Oups! 

_________________
Spoiler:
 
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Mon code ne fais pas ce qu'il devrais faire du tout   

Revenir en haut Aller en bas
 
Mon code ne fais pas ce qu'il devrais faire du tout
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» "Je ne veux pas faire dodo tout seul, je vomis"
» faire soi-meme ses couches?
» Semaine internationale du portage => code promo ;-)
» Vocabulaire dans la Marine (code international des signaux )
» Code pour 10 % chez Séphora !

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: