Objekt soll um wände einen bogen machen

  • GM 7
  • Objekt soll um wände einen bogen machen

    Sorry, dass ich einen neuen Thread aufmachen muss, aber beim anderen kann ich nicht mehr posten und der ist schon so weit unten, dass sich den wahrscheinlich niemand mehr anschaut und zwar hab ich mir das hier gecodet:

    Quellcode

    1. if distance_to_object(obj_player)<=500
    2. follow=1;
    3. if distance_to_object(obj_player)>=500
    4. if (follow=1)
    5. mp_potential_step(obj_player.x,obj_player.y,10,false)


    und das klappt sogar.
    Jetzt wollt ich nur wissen wie das geht, dass der Gegner einen Bogen um solide Objekte macht?


    Danke.
    Gruß Stefan
    Gruß Gamer
  • ok, werds mal probieren, hab aber gleich nochmal ne Frage und zwar zu Sprites,
    bei mir zeigts bei den diagonalen sprites den hintergrund weiß an obwohl sie alle transparent sind und das einzige was ich mit dem grafikprogramm gemacht hab, ist, dass ich sie gedreht habe, mehr nicht
    Wie mach ich den weißen Hintergrund weg
    oder wie lass ich die sprites mit der lite version drehen
    Gruß Gamer
  • Danke, aber wo auf Animation???!!!??? ?( ?( ?( :?: :?: :?:

    edit: habs gefunden, aber nicht unter animation, bei meinem Grafikprogramm wird das unscharf wenn ich den sprite drehe, mit dem internen gehts viel besser.

    Jetzt hab ich aber noch ne Frage:

    Und zwar möchte ich für jedes Gegnerobjekt die Lives seperat haben und für jedes Playerobjekt möchte ich eine eigene Healthbar, wie mach ich das?
    Gruß Gamer

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

  • du musst dir deine eigenen variablen machen.da schreibst du ins create event vom player:

    GML-Quellcode

    1. player_HP=100 //leben für den player

    und beim gegner1:

    GML-Quellcode

    1. enemy1_HP=100//leben für den gegner1

    beim gegner 2:

    GML-Quellcode

    1. enemy2_HP=100//leben für den gegner2

    usw.die jeweilige healthbar schreibst du in das draw event des players/gegners1/gegners2....dazu benutzt du:

    GML-Quellcode

    1. draw_healthbar(100,100,150,105,deine_variable,c_none,c_red,c_green,0,true,true)
  • ok danke, aber was bedeutet das alles in der klammer

    draw_healthbar
    (100,100,150,105,deine_variable,c_none,c_red,c_green,0,true,true)

    also bei deine_variable kann ich mir denken, dass da dann player_HP und so rein kommt
    aber was bedeutet das alles andere???

    Danke
    Gruß Stefan
    Gruß Gamer
  • also die ersten 4 zahlen bedeuten x1,y1,x2,y2.deine variable weist du ja schon.c_none ist die hintergrundfarbe(hier ist es keine).
    c_red c_green bedeutet,dass die healthbar,je größer die variable ist,grün ist und je kleiner sie wird,geht sie in rot über.0 ist die direction also die richtung.die beiden trues weiß ,ich auch nicht genau.das erste heißt "showback" und das zweite "showborder"??


    edit:hier ist das,was in der hilfe steht:
    draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder) Mit dieser Funktion kannst du eine Lebensanzeige (oder irgendeine andere Anzeige, die einen Wert angibt. z.B. den Schaden) zeichnen. Die Argumente x1, y1, x2 und y2 geben den gesamten Bereich der Anzeige an. amount gibt an, wieviel die Anzeige anzeigen soll (mus zwischen 0 und 100 liegen). backcol ist die Hintergrundfarbe der Anzeige. mincol und maxcol geben die Farben an, in denen die Anzeige gezeichnet wird, wenn amount 0 bzw. 100 ist. Wenn amount zwischen 0 und 100 ist werden die Farben ihren Anteilen entsprechend gemischt, folglich kann man sehr leicht eine Anzeige machen, die ihre Farbe von Grün nach Rot verändert. direction gibt an, in welche Richtung die Anzeige steigt (0 = von Links nach Rechts, 1 = von Rechts nach links, 2 = von Oben nach Unten, 3 = von Unten nach Oben). Schließlich gibt showback an ob der Hintergrund angezeigt werden soll und showborder, ob die Anzeige einen Schwarzen Rand haben sollen.
  • nur ne anmerkung.. aber wenn du für jeden gegner ein neues objekt machst, dann musst du in der HP variable der gegner doch nicht noch nen index haben und erhähen..
    reicht doch völlig aus, wenn du die HP variable einfach immer nur hp nennst.

    und frage: gibt es im gm7 wirklich die farbe c_none?
  • nein, ich werde nicht für jeden Gegner ein anderes Objekt nehmen, es gibt halt versch. Gegner, aber die einzelnen gibts auch öfters
    nur vllt wenn ich einen Endgegner mach dann net.

    wenn es c_none nicht gibt, was muss ich dann reinschreiben dass kein Hintergrund geben soll: noone vllt?
    Gruß Gamer
  • du verwechselst gerade glaub ich objekt mit instanz.
    du erstellst ein objekt für einen gegner. und das kannst du dan als instanz so oft in deinem spiel plazieren wie du möchtest. aber die verhalten sich dann alle gleich.
    und da die objektbezogenen variablen verschiedener objekte sich nicht gegenseitig beeinflussen kannst du bei jedem gegnerobjekt die variable gleich nennen.
    sogar beim spieler kannst du sie gleich nennen. musst du natürlich nciht, aber ich finde das erspart einige arbeit wenn du objekte kopierst und dann nur ein paar werte veränderst (falls du keine parents benutzt.. egal)
    aber da du die variable ja im draw-event in der healthbar zeichnen lassen willst wäre es mit gleichem namen der variablen einfacher.
    so kopierst du einfach ein objekt und änderst meinet wegen die HPs.
    aber nummerierst du die variablen durch musst du dann jedesmal erst im create-event den variablennamen ändern und dann noch im draw-event.

    so, genug gejammert ;D
    musst ja schließlich du wissen, außerdem wars ja nicht deine "hauptfrage"
  • ne, verwechsel ich nicht, aber du hast geschrieben:
    aber wenn du für jeden gegner ein neues objekt machst, dann musst du in der HP variable der gegner doch nicht noch nen index haben und erhähen..
    Und das mach ich eben nicht, ich platziere mehrere instanzen im Spiel, die sich dann halt gleich verhalten aber ich mach auch versch. Gegner
    werds einfach mit ner variable hp machen oder wie ich die auch immer nenn
    auserdem möcht ich die healtbar ja nur von den spielern zeichnen, da das für die gegner nicht notwendig ist
    höchstens für einen endgegner oder so
    Gruß Gamer
  • ja, ok, ich hab mich etwas unverständlich ausgedrückt :)
    klar, für die verschiedenen "arten" von gegnern verschiedene objekte.
    und eine art gegner in vielen ausführungen.
    aber ich glaub du hast ja jetzt verstanden worauf ich hinaus wollte ;)

    gruß
    HIM
  • Benutzer online 1

    1 Besucher