Problem mit Draw

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit Draw

    ich habe ein kleines problem...

    ich komme gerade mit einer kleinigkeit nicht klaa....ich möchte wenn ich wenn ich eine Variable(checkpoint) aktiviere,das ,,Checkpoint,, oben links steht ...ich habe es mal mit diesem code probiert der aber nicht klappt:

    GML-Quellcode

    1. if checkpoint = true then
    2. {
    3. draw_set_font(font0);
    4. draw_set_color(c_black);
    5. draw_set_halign(fa_left);
    6. draw_text(view_xview+0;view_yview+32,'Checkpoint');
    7. }


    ?( ?( ?(

    bitte helft
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • also ich habe ein extra object gemacht, habe den code ins draw event geschrieben und habe auch das object im room reingemacht.....und es kommt eine fehlermeldung:
    ERROR in action number 1
    of Draw Event
    for object Draw(checkpoint):

    Error in code at line 1:
    if checkpoint = true then

    at position 4: Unknown variable checkpoint
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • du musst die variable vorher definieren.
    schreib einfach ins create event von dem objekt

    GML-Quellcode

    1. checkpoint=0


    achja und dass then brauchst du nicht und das if würde ich in klammern schreiben (geht aber auch so wie du es gemacht hast):

    GML-Quellcode

    1. if (checkpoint == true)
    2. {
    3. draw_set_font(font0);
    4. draw_set_color(c_black);
    5. draw_set_halign(fa_left);
    6. draw_text(view_xview+0;view_yview+32,'Checkpoint');
    7. }


    Edit: Frage falsch verstanden ^^ mach es so wie toshiro es beschrieben hat.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von J@kob ()

  • Das bedeutet, dass das Objekt die Variable nicht kennt. Normale Variablen existieren nämlich nur in den Objekten, in denen mit ihnen gearbeitet wird.
    Lösung 1:
    Angenommen, das Objekt, in dem mit 'checkpoint' gearbeitet wird, heißt 'obj_player', schreibst du einfach im Checkpoint-Objekt statt 'checkpoint' -> 'obj_player.checkpoint'. Dann kann das Checkpoint-Objekt auf diese Varible zugreifen.
    Lösung 2:
    Du machst eine globale Variable daraus. Das machst du indem du einfach überall, wo zurzeit 'checkpoint' steht, stattdessen 'global.checkpoint' hinschreibst. Dann kannst du von jedem Objekt auf diese Variable zugreifen.

    Edit:
    J@kobs Lösung hat den Fehler, dass 'checkpoint' dann nicht mit dem 'checkpoint' übereinstimmt, mit dem du arbeiten möchtest, sondern immer 0 bleibt.
  • danke schön Toshiro :) :) :) ....habe das mit global ausgetestet und es hat perfekt geklappt :thumbsup:
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)