Problem mit "instance_create"

  • Problem mit "instance_create"

    Hallo liebe Community!

    Ich finde mal wieder einen "Fehler" nicht.
    Nachfolgend der Code, der dafür zuständig ist, dass im Menü die Buttons zum Bauen von Gebäuden angezeigt werden, wenn ich einen Dorfbewohner ausgewählt habe (Wie bei Age of Empires z.B.)

    Nun wird der Button / die Buttons aber zu weit oben oebn angezeigt, sprich sie müssen ein wenig nach unten verschoben werden... ich hab so lang nicht mehr mit dem GM gearbeitet, dass ich nicht drauf komme.
    Ihr findet es bestimmt sofort.

    GML-Quellcode

    1. // Show the buttons of a peasant, if single selected
    2. if nr_of_selections = 1 && Selected_Human_Peasant = 1
    3. {
    4. if instance_number(Human_Button_Create_Farm) = 0
    5. {
    6. // max 10 farms allowed
    7. if instance_number(Human_Farm) < 10
    8. {
    9. // show_message("Farm")
    10. instance_create(0,0,Human_Button_Create_Farm)
    11. }
    12. }
    13. if instance_number(Human_Button_Create_Barrack) = 0
    14. {
    15. instance_create(0,0,Human_Button_Create_Barrack)
    16. }
    17. if instance_number(Human_Button_Create_Mill) = 0 && level > 1 && instance_number(Human_Barrack) > 0
    18. {
    19. instance_create(0,0,Human_Button_Create_Mill)
    20. }
    21. if instance_number(Human_Button_Create_Blacksmith) = 0 && level > 2 && instance_number(Human_Mill) > 0
    22. {
    23. instance_create(0,0,Human_Button_Create_Blacksmith)
    24. }
    25. }
    Alles anzeigen





    Vielen Dank schon mal für eure Mühe :)
    Gruß Simon

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LachenderAffe ()

  • Original von Merko
    Du musst die beiden ersten Argumente von instance_create(x,y,obj) ändern.
    0,0, bedeutet ganz oben links auf dem Bildschirm

    €dit: Hast du das aus dem Game Dark Ages oder so auf gamemaker.nl?




    Ich weiß dass man dort einstellt, wo das Object hinkommt, aber auch wenn ich die Werte auf 200,200 ändere, erscheinen die Buttons an der selben Stelle... ?(

    Ja, den Teil des Codes hab ich von Game Dark Ages. Wieso?




    Gruß Simon :happy:
  • Original von Merko
    Naja hast du irgendwas im Draw-Event?
    Also draw_sprite(sprite_index,0,0,0). Dort muss dann das stehen:
    draw_sprite(sprite_index,0,x,y)

    Dann sollte es aber richtig sein.

    Wegen dem Dark Ages: Weil es zu schwer für GML Anfänger ist und deswegen dann solche Fragen aufkommen.




    Hui... also ich hab Massen im Draw-Event.
    Ich kann aus deiner Antwort nicht genau erkennen, wo ich suchen soll... Sorry.
    Das Draw-Event ist bestimmt 3 Seiten lang...
  • Original von LachenderAffe
    Original von Merko
    Naja hast du irgendwas im Draw-Event?
    Also draw_sprite(sprite_index,0,0,0). Dort muss dann das stehen:
    draw_sprite(sprite_index,0,x,y)

    Dann sollte es aber richtig sein.

    Wegen dem Dark Ages: Weil es zu schwer für GML Anfänger ist und deswegen dann solche Fragen aufkommen.




    Hui... also ich hab Massen im Draw-Event.
    Ich kann aus deiner Antwort nicht genau erkennen, wo ich suchen soll... Sorry.
    Das Draw-Event ist bestimmt 3 Seiten lang...

    Du wirst doch noch selber wissen, welcher Code nun eigentlich dafür zuständig ist das betreffende Sprite zu zeichnen.
    Wenn nicht empfehle ich dir mehr Code in Scripte oder andere Events (wie die 3 verschiedenen Step-Events) auszulagern, und wirklich nur das nötigste ins Draw-Event zu packen.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik