Hilfe bei Gegnern

  • GM 7
  • Hilfe bei Gegnern

    also ich habe folgendes problem,ich möchte drei verschiede gegner machen ,die alle was andres machen sollen also ich mein:
    1.Gegner1 soll von ,anstatt normal nach rechts oder links laufen nach rechts oder links springen
    2.Gegner2 soll wenn ich in sichtweite bin sofort zu mir laufen
    3.Gegner3 soll ein bewaffneter gegner sein der auf mich schießt wenn er mich sieht...und er soll wenn ich an ihm vorbei laufe dass er sich dann zu mir umdreht also dass er einfach ganze zeit in meine richtung guckt egal ob ich links oder rechts von ihm bin

    bitte helft ich bin echt ratlos,habe schon soo manches ausprobiert und das hat alles nicht geklappt :(
    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)
  • Zu 1.:
    Statte den Gegner wie den Player mit Gravitation und Co aus
    und benutze dann einfach den springen Code:

    GML-Quellcode

    1. vspeed=/*Dein Wert*/


    Zu 2.:
    Schau dir mal "distance_to_object" an.

    Zu 3.:
    Siehe 2.
    Das drehen kannst du mit diesem Code machen:

    GML-Quellcode

    1. if player.x>x {sprite_index=/*rechts*/}
    2. else if player.x<x {sprite_index=/*links*/}

    Das schießen solltest du ja dann so machen können:

    GML-Quellcode

    1. /*Im Create-Event:*/
    2. Schusscounter = random(100)
    3. /*Im Step-Event:*/
    4. Schusscounter-=1
    5. if Schusscounter<0 {
    6. bul = instance_create(x,y,/*Dein Geschossobjekt*/) }
    7. if sprite_index== /*links*/ {bul.direction=180}
    8. else {
    9. bul.direction=0
    10. bul.speed=6
    11. Schusscounter=random(100) }
    Alles anzeigen


    ,-Megamag

    Magical dream time!
  • also zu 1.habe ich das mit vspeed gemacht(vspeed=-10 und hab noch dazu bei move fixed rechts eingegeben) aber mein gegner macht nur einen sprung nach rechts und dann läuft er wieder normal er soll jaa ganze zeit nur springen...||||und ich weiß nicht was oder wie man was mit distance_to_object machen soll oder kann weil ich von dieser funktion noch davor nichts gehört habe ?( (habe das prog. erst 2 monate lang :S )
    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 das mit dem permanenten springen sollte so klappen:

    GML-Quellcode

    1. if place_meeting(x,y,obj_wall)
    2. {vspeed=-10}

    und eben dein move fixed und gravity!

    das mit dem distance_to_object is doch ganz einfach.

    GML-Quellcode

    1. if distance_to_object(obj_player) < 200 && place_free(x+6,y)
    2. {x+=15} // oder deine geschwindigkeit

    Gruß Terra