Problem mit dem Schießen

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

  • Problem mit dem Schießen

    Hy

    Ich habe programmiert das mein player pfeile abschießt und es funktioniert auch ganz gut.
    Jedoch wollte ich durch global.item machen das er nur maximal 5 pfeile besitzen kann und auch abfeuern kann und nicht mehr.
    Hab es so probiert:

    GML-Quellcode

    1. if global.lastpressed=="right" && global.item <= 5
    2. {
    3. if (global.item >= 0)
    4. {
    5. global.item-=1;
    6. instance_create(x,y,obj_player_shoot_right)
    7. with instance_create(x,y+30,obj_bullet_right)
    8. {
    9. direction=0;
    10. hspeed=8;
    11. }
    12. }
    13. }else
    14. {
    15. if (global.item >= 0 )
    16. {
    17. global.item-=1;
    18. instance_create(x,y,obj_player_shoot_left)
    19. with instance_create(x,y+30,obj_bullet_left)
    20. {
    21. hspeed-=8;
    22. direction=180;
    23. }
    24. }
    25. }
    26. if (global.item == 0 )
    27. {
    28. ///Keine Ahnung wie ich es machen kann hab es mit instance_deactivate_object probiert ging aber nicht
    29. }
    Alles anzeigen




    Jedoch hab ich das problem das ich nicht weiß wie ich es machen kann das wenn der player 0 pfeile hat nicht mehr feuern kann. hab es mit instance_deactivate probiert aber komm nicht voran bitte um hilfe
  • sobald ich das mache dann löscht er sobald er bei der 0 angekommen ist das objekt für den spieler (nach der ausführung der attacke die mit obj_player_shoot_right und left gemacht sind) was kann das sein.
    im obj_player_shoot_right und left habe ich normal das animation end mit destroy the instance und einen create intance obj_player_stand_right. wo nichts ausser der image speed drinn steht.
  • Also in dem code stück hier steht jedenfalls nichts davon, dass das Spieler objekt destroyed wird. Schau dir allen code an wo der Spieler destroyed oder instances deactiviert werden, dort muss iwo der Fehler sein.

    Und ein kleiner Tipp noch, du bruachst nur ein Schuss object da du ja sowieso die direction und hspeed änderst. bzw die direction brauchst du nicht zu ändern weil du ja sowieso mit hspeed sie nahc links oder rechts fliegen lässt. Du musst aber image_angle anpassen damit die Kugel richtig rum schaut. Wenn du etwas sich entlang der direction bewegen lässt, reicht wenn du dem object einen speed zuweist statt hspeed oder vspeed.

    GML-Quellcode

    1. if global.item > 0
    2. {
    3. global.item -= 1
    4. inst = instance_create(x,y+30,obj_bullet)
    5. if global.lastpressed == "right"
    6. {
    7. inst.image_angle = 0;
    8. inst.hspeed = 8;
    9. }
    10. if global.lastpressed == "left"
    11. {
    12. inst.image_angle = 180;
    13. inst.hspeed = -8;
    14. }
    15. }
    Alles anzeigen



    Das global.item niemals über 5 ist sicherst du beim aufsammeln des items. Da wird global.item nur dann erhöht wenn es < 5 ist.

    Du solltest auch nicht einbauen das die instances deaktiviert werden, weil sonst auch alle sich im Flug befundenen obj_bullets deaktivieren und verschwinden. Mit dem code wie ich ihn aufgeschrieben habe gehst du sicher dass keine bullets abgeschossen werden wenn global.item auf 0 steht.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^