Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  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 795
    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 795
    Points : 171 961
    Points
    171 961
    Billets dans le blog
    38

    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 expert Avatar de yildiz-online
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    octobre 2011
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 074
    Points : 3 496
    Points
    3 496

    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
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : décembre 2012
    Messages : 477
    Points : 875
    Points
    875
    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 : 81
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
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : décembre 2012
    Messages : 477
    Points : 875
    Points
    875
    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, 10h01
  2. Petit problème de variable
    Par Askental dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 18/08/2009, 18h39
  3. petit problème de variable
    Par shaku dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 06/04/2009, 22h27
  4. Réponses: 3
    Dernier message: 19/09/2006, 21h12
  5. petit problème variable perl bizzare
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 08/04/2006, 02h01

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