1. #1
    Candidat au Club
    Homme Profil pro
    Recherche d'emploi dans l'évenementiel
    Inscrit en
    décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Recherche d'emploi dans l'évenementiel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : décembre 2017
    Messages : 4
    Points : 2
    Points
    2

    Par défaut Petit problème de variable

    Bonjour avant tout merci de lire ce message c'est sympa.
    Je développe (du-moins j'essaye) un jeu 2d type galaga sur un logiciel du nom de game maker.
    voilà mon problème:
    Par défaut l'objet qui sert de projectile se détruit sur l’ennemie et donc j'ai eu pour idée de crée un bonus pour faire en sorte que le projectile se détruise pas j'usque la tous va bien (en apparence). j'ai donc crée un variable qui en défini quand mon player apparait (à chaque début de partie), cette variable est défini comme fausse par le player.
    Le projectile lui test si cette variable et si elle est fausse il est sensé se détruire (en théorie). Ensuite le bonus lui défini cette variable comme vrai et au bout d'un certain laps de temps il redéfini la variable comme fausse.

    Mon problème est que dès que le projectile touche un ennemie j'ai un message d’erreur qui me dit que la variable à testé n'est pas défini (j'ai bien vérifié les écritures)

    voilà si vous avez un peu de temps à m’accorder ce serait super sympa

    encore merci

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 23 040
    Points : 163 957
    Points
    163 957
    Billets dans le blog
    21

    Par défaut

    Bonjour,

    Ainsi (je veux dire, sans le projet), cela sera dur de déterminer la cause. C'est bien d'avoir vérifier les écritures. Par contre, est-ce que la variable est définie au bon endroit ? (c'est à dire, de manière à ce quelle soit utilisable dans le projectile). Cela semble que la variable devrait être globale.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Recherche d'emploi dans l'évenementiel
    Inscrit en
    décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Recherche d'emploi dans l'évenementiel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : décembre 2017
    Messages : 4
    Points : 2
    Points
    2

    Par défaut suite

    merci de ta réponse,

    Comme tu la dit et j'ai omis de le précisé j'ai bien fait en sorte que le variable soit défini avant d’être tester, j'ai aussi essayer de faire une variable globale mais même résultat. La seule hypothèse que j'ai c'est que la variable est défini au début de chaque partie mais le projectile n'est pas encore créé il ne doit donc pas la prendre en compte.

  4. #4
    Membre émérite Avatar de yildiz-online
    Homme Profil pro
    Architecte technique
    Inscrit en
    octobre 2011
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : octobre 2011
    Messages : 885
    Points : 2 896
    Points
    2 896

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Cela semble que la variable devrait être globale.
    On en a pendu pour moins que ça.
    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  5. #5
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    décembre 2012
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : décembre 2012
    Messages : 472
    Points : 863
    Points
    863
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Flof_le francais Voir le message
    un bonus pour faire en sorte que le projectile se détruise pas j'usque la tous va bien (en apparence).
    Donc il ne se détruit pas ?
    Citation Envoyé par Flof_le francais Voir le message
    Le projectile lui test si cette variable et si elle est fausse il est sensé se détruire (en théorie)
    Et ça, ça marche ?
    Citation Envoyé par Flof_le francais Voir le message
    Ensuite le bonus lui défini cette variable comme vrai et au bout d'un certain laps de temps il redéfini la variable comme fausse.
    Le projectile existe toujours ?

  6. #6
    Candidat au Club
    Homme Profil pro
    Recherche d'emploi dans l'évenementiel
    Inscrit en
    décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Recherche d'emploi dans l'évenementiel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : décembre 2017
    Messages : 4
    Points : 2
    Points
    2

    Par défaut suite

    Dès que le projectile (sans avoir activer le bonus) touche un ennemi j'ai immédiatement le message d'erreur donc non ça ne marche pas.Nom : crash jeu.png
Affichages : 70
Taille : 785,0 Ko

    le code que j'ai écrie est [if sniper=false{instance_destroy()}

    et pour définir la variable j'ai utiliser le logiciel (le bouton set variable) et j'ai aussi essayer de le déclarer par du script sous cette forme [sniper=false]

    enfin dans mon bonus j'ai mis un event qui doit set la variable [sniper=true] quand le bonus s'active et j'ai mis une alarme qui remet la variable en "normal" [sniper=false]

    de toute facon je n'ai pas réussi à activer le bonus car le message d'erreur est avant.

    j’espère être concis j'ai du mal à expliquer les choses.


  7. #7
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    décembre 2012
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : décembre 2012
    Messages : 472
    Points : 863
    Points
    863
    Billets dans le blog
    1

    Par défaut

    Tester morceau par morceau aiderait à la compréhension du problème.
    -Tester le fait que le projectile reste bien en vie après l'impact.
    -L'alarme, lancée à l'impact pour s'assurer du bon fonctionnement
    -La variable sniper déclarée à true dès la création du projectile
    -...

  8. #8
    Candidat au Club
    Homme Profil pro
    Recherche d'emploi dans l'évenementiel
    Inscrit en
    décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Recherche d'emploi dans l'évenementiel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : décembre 2017
    Messages : 4
    Points : 2
    Points
    2

    Par défaut peut être la fin

    Comme on me la dit précédemment j'ai testé "morceaux par morceaux" et j'ai eu une idée qui à permis de résoudre mon problème.

    j'ai crée des projectiles différent de ceux deux base (mais avec le même sprite) et dans l’exécution du tir par le joueur j'ai doubler les lignes et fait en sortes d'intégré les nouveaux objets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    if canfire=true{
     
    if Doublefire=true{
     
    if bullettype=1{bullet=instance_create(x-20,y-20,Small_bullet)}
    if bullettype=2{bullet=instance_create(x-20,y-20,Basic_bullet)}
    if bullettype=3{bullet=instance_create(x-60,y,Big_bullet)}
     
    bullet.speed=20
     
    if randomfire=false {bullet.direction=90}
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
    }
    if bullettype=1{bullet=instance_create(x+20,y-20,Small_bullet)}
    if bullettype=2{bullet=instance_create(x+20,y-20,Basic_bullet)}
    if bullettype=3{bullet=instance_create(x+60,y,Big_bullet)}
     
    bullet.speed=20
     
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
     
    if randomfire=false {bullet.direction=90}
     
    canfire=false
     
    if Firerate=1{
    alarm_set(0,10)
    }
    if Firerate=2{
    alarm_set(0,15)
    }
    if Firerate=3{
    alarm_set(0,50)
    }}
    ci-dessus c'est l'original et ci-dessous le nouveaux pas optimisé mais fonctionnelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    if sniper=false{
    if canfire=true{
     
    if Doublefire=true{
     
    if bullettype=1{bullet=instance_create(x-20,y-20,Small_bullet)}
    if bullettype=2{bullet=instance_create(x-20,y-20,Basic_bullet)}
    if bullettype=3{bullet=instance_create(x-60,y,Big_bullet)}
     
    bullet.speed=20
     
    if randomfire=false {bullet.direction=90}
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
    }
    if bullettype=1{bullet=instance_create(x+20,y-20,Small_bullet)}
    if bullettype=2{bullet=instance_create(x+20,y-20,Basic_bullet)}
    if bullettype=3{bullet=instance_create(x+60,y,Big_bullet)}
     
    bullet.speed=20
     
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
     
    if randomfire=false {bullet.direction=90}
     
    canfire=false
     
    if Firerate=1{
    alarm_set(0,10)
    }
    if Firerate=2{
    alarm_set(0,15)
    }
    if Firerate=3{
    alarm_set(0,50)
    }}}
     
    /// zone sniper acivé
     
    if sniper=true{
    if canfire=true{
     
    if Doublefire=true{
     
    if bullettype=1{bullet=instance_create(x-20,y-20,Small_bullets)}
    if bullettype=2{bullet=instance_create(x-20,y-20,Basic_bullets)}
    if bullettype=3{bullet=instance_create(x-60,y,Big_bullets)}
     
    bullet.speed=20
     
    if randomfire=false {bullet.direction=90}
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
    }
    if bullettype=1{bullet=instance_create(x+20,y-20,Small_bullets)}
    if bullettype=2{bullet=instance_create(x+20,y-20,Basic_bullets)}
    if bullettype=3{bullet=instance_create(x+60,y,Big_bullets)}
     
    bullet.speed=20
     
    if randomfire=true{
    fireaxe=irandom_range(180,0)
    bullet.direction=fireaxe}
     
    if randomfire=false {bullet.direction=90}
     
    canfire=false
     
    if Firerate=1{
    alarm_set(0,10)
    }
    if Firerate=2{
    alarm_set(0,15)
    }
    if Firerate=3{
    alarm_set(0,50)
    }}}
    voilà je sais pas je doit mettre résolu mais en tous cas ça marche pour moi.

Discussions similaires

  1. Morpion, petit problème de variables
    Par talapoga dans le forum Débuter
    Réponses: 5
    Dernier message: 29/04/2015, 09h01
  2. Petit problème de variable
    Par Askental dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 18/08/2009, 17h39
  3. petit problème de variable
    Par shaku dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 06/04/2009, 21h27
  4. Réponses: 3
    Dernier message: 19/09/2006, 20h12
  5. petit problème variable perl bizzare
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 08/04/2006, 01h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo