hilfe bei kleinem projekt

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

  • hilfe bei kleinem projekt

    hallo

    also ich habe spasshalber und zum lernen ein kleines game gemacht .....in dem der player den gegner abschießen muss und umgekehrt...jeder hat 3 leben...
    und wenn man schießt erscheint ein ladebalken und erst wenn der voll ist kann man wieder schießen...und der gegner verfolgt den player auch...

    dazu hab ich 2 probleme und zwar erstens....

    PROBLEM 1:ich schaffe es nicht das der gegner wenn er zb nach unten oder rechts geht das er dann auch in die richtung sieht..hab es mit image_xscale ...mit einer variable....mit direction usw probiert....

    PROBLEM 2: wie kann ich es machen das der gegner wenn der player auf ihn schießt sich vom schuss entfernt....also das er weggeht....


    hier der code vom enemy:

    create event

    GML-Quellcode

    1. ​enemylive = 3;
    2. reloadline = 100;
    3. facing = "right";


    step event

    GML-Quellcode

    1. ///Movement
    2. if (direction == 180) ///// Hier hab ich es versucht das mit der richtung wie und wo er hinsehen soll zu lösen
    3. { //// hatte auch schon andere versionen davon mit if hspeed <0 usw und mit image_xscale und yscale
    4. image_index = 1; ////aber bekomms nicht hin...komischerweise
    5. }else if (direction == 0)
    6. {
    7. image_index = 0;
    8. }
    9. if (direction == 90)
    10. {
    11. image_index = 2;
    12. }else if (direction == 270)
    13. {
    14. image_index = 3;
    15. }
    16. ////nachladebalken
    17. if (reloadline < 100)
    18. {
    19. reloadline++;
    20. }
    21. ////schuss erstellen wenn der balken voll
    22. if (reloadline == 100)
    23. {
    24. instance_create(x,y,obj_schuss_gegner);
    25. reloadline=0;
    26. }
    27. ////kleine verfolgungs k.I
    28. if position_meeting(x,y,obj_play) > 20
    29. {
    30. if position_meeting(x,y,obj_play)<170
    31. {
    32. move_towards_point(obj_player.x,obj_player.y,12)
    33. }
    34. }
    35. if instance_position(x,y,obj_schuss) < 100
    36. {
    37. mp_potential_step_object(obj_play.x,obj_play.y,12,obj_block)
    38. }
    Alles anzeigen



    draw_event

    GML-Quellcode

    1. ///Reloadline etc
    2. draw_self();
    3. if (reloadline != 100)
    4. {
    5. draw_healthbar(x-30,y-30,x+30,y-20,reloadline,c_black,c_green,c_red,1,true,true);
    6. }




    wäre toll wenn mir jemand helfen könnte..
  • acidrain833 schrieb:

    nicht vom player sondern vom enemy....und das hatte ich schon probiert im enemy create event das funkt nicht...


    Er schrieb ja auch im Step-Event.
    Wenn du es im Create-Event machst, dann wird das ja nur gemacht, wenn der Enemy erstellt wird.
    Im Step Event wird es dann natürlich in jedem Step ausgeführt.
    Aktuelles Projekt: Aufbau - Strategiespiel.
    Aktueller Entwicklungsschritt: Planung | Grundengine entwickeln.

    Wichtig ist nicht, besser zu sein als alle anderen.
    Wichtig ist, besser zu sein als du gestern warst.





  • acidrain833 schrieb:

    jemand da der mir da helfen könnte???? also das mit dem das der enemy vom schuss flieht....bzw ausweicht.....(ist ein top down mit runden bällen)

    Ich geb auch einfach mal meinen Senf dazu...
    Also ich würde so einen Kampf mit Spieler und Gegner so machen

    GML-Quellcode

    1. //In obj_gegner (Der Code bezieht sich nur auf die Verfolgung)
    2. //------------------
    3. //Step_Event
    4. mp_potential_step_object(obj_spieler.x, obj_spieler.y, 12, obj_munition);

    Der folgende Code käme bei meiner Variante in beide Step-Events, also sowohl in das des Spielers und auch das des Gegners

    GML-Quellcode

    1. //Ich würde das Spiel ohne Wand machen, ansonsten versuch die Wand simpel auf solid zu setzen
    2. if(x <= -(sprite_width - sprite_xoffset))
    3. {
    4. x = room_width + sprite_xoffset;
    5. } else if(x >= room_width + sprite_xoffset) {
    6. x = -(sprite_width - sprite_xoffset);
    7. }
    8. if(y <= -(sprite_height - sprite_yoffset))
    9. {
    10. y = room_height + (sprite_height - sprite_yoffset);
    11. } else if(y >= room_height + (sprite_height - sprite_yoffset))
    12. {
    13. y = -(sprite_height - sprite_yoffset);
    14. }
    Alles anzeigen