instante bullet

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

  • instante bullet

    Moinmoin^^
    Ich habe ein Problem habe einer Waffe, die eine Kugel schiesen soll (jedoch so schnell das sie nur als linie gesehen werden kann), ich habe zwar schon raus wie ich eine Kugel erstelle die mit ner geschwindikeit von 12 davon fliegt aber... um erlich zu sein sieht das i-wie schei*** aus... ich natürlich mal ein wenig gegooglet und auch hier in der SuFu gesucht, ich habe auch einige threads dazu gefunden... aber das ist i-wie nicht das was ich such... ;(
    Also noch mal zum schuss, dieser schuss soll eben nur aus einer gezeichneten Linie bestehen (ich denk mal was mit draw_line :P )... dieser schuss soll in eine richtung gehen in die die waffe schaut, und an soliden objekten hängen bleiben (also stoppen und nicht weitergehen), diese linie soll einfach grau sein und mehr nicht ^^ ich hoffe ihr könnt mir helfen.
    thx schon mal im voraus
    BigBadBoy ;)
    P.S.
    ich habe 2 Bilder angehängt... (das erste ist... wie es grad eben aussieht.. und das zweite, wie es aussehen sollte)
    Bilder
    • halo5.png

      9,31 kB, 190×147, 78 mal angesehen
    • halo6.png

      9,53 kB, 190×147, 82 mal angesehen
    Yes:evil:! It's me:whistling:'
  • Hmm da musst du mit einer Schleife arbeiten:

    GML-Quellcode

    1. len=0;
    2. do
    3. {
    4. len+=3;
    5. xx=x+lengthdir_x(len,direction);
    6. yy=y+lengthdir_y(len,direction);
    7. }
    8. until(collision_line(x,y,xx,yy,obj_wall,false,false) or len>1000)


    Dann musst du halt noch eine linie zwischen [x|y] und [xx|yy] zeichnen.

    © 2008 by Teamgrill Productions
  • Hey thx!^^
    Aber kannst du mir bitte noch erklären was dein GML-code(?) jetzt genau macht? Und wo soll ich den einsetzen? imstep oder im draw event? (ich versteh das noch nied so recht ^^')
    Yes:evil:! It's me:whistling:'
  • GML-Quellcode

    1. len=0; //länge von abschuss-position aus in schussrichtung
    2. do
    3. {
    4. len+=3; //bei jedem schleifendurchgang wird die länge um 3pixel erhöht
    5. xx=x+lengthdir_x(len,direction); //x- und
    6. yy=y+lengthdir_y(len,direction);//y-stellvertretervariable ergeben den punkt in richtung direction mit länge len
    7. }
    8. until(collision_line(x,y,xx,yy,obj_wall,false,false) or len>1000) //solange, bis eine kollision mit einem objekt
    9. //(in dem fall obj_wall) vorhanden ist oder die länge 1000 überschreitet
    10. //nun noch draw_line(x,y,xx,yy)
    Alles anzeigen


    nun wird eine linie von deinem standpunkt aus in richtung direction gezeichnet, welche bei kollision mit einem objekt endet.

    wolltest du es nicht etwas anders?
    sowas wie:

    GML-Quellcode

    1. CREATE event:
    2. x_start=x
    3. y_start=y
    4. DRAW event:
    5. draw_line(x_start,y_start,x,y)
    ?
    "das war meine letzte flamewar PM an dich ."
  • Hmmhmmhmmm ^^ schon recht gut erklärt...
    äöahm... ich weis nur nicht genau wie ich das jetzt bei mir gebrauchen kann... ich häng mal ne kleine gm6 datei an... vlt. kannst du mir bitte mal verklickern wie ich des da rein schreiben soll :X... ich versteh das nicht soooo ganz ^^'

    EDIT:
    P.S.
    Das ist eine (schwer) abgeschpeckte vers. ^^' :P
    Dateien
    • test2.zip

      (3,93 kB, 125 mal heruntergeladen, zuletzt: )
    Yes:evil:! It's me:whistling:'

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

  • sag mal hast du das gemacht oder jemand anderer????


    wie es scheint brauchst du keine schleife sondern eher den 2. code den dir blubberblubb angeboten hat
    (
    CREATE event:
    x_start=x
    y_start=y

    DRAW event:
    draw_line(x_start,y_start,x,y)
    )
    wobei hier noch nicht das stoppen bei einem objekt eingebaut ist!
    ich edite meinen beitrag noch mal wenn ich ne idee hab wie das gehen soll.....ich bin ja selbst nicht grad der beste ;)
  • ok, ich nehm an, du hast irgendwo ein objekt, welches deinen "schuss" darstellt.
    den code setzt du dann jeweils ins draw- und create-event ein, wie beschrieben, wo liegt das problem?
    "das war meine letzte flamewar PM an dich ."
  • *Blubber^^
    also erst einmal - Ja! Ich habe das selbst gemacht... ich hatte auch ein bullet objekt drin... aber das habe ich raus genommen...
    ...ich verstehe zwar das ich das in das fliegende bullet objekt einbauen soll, aber ich verstehe irgendwie nicht wie ich das so "basteln" kann das die linie in einem frame soweit fliegt bis eine object im weg ist... :X... ichw eis auch nicht genau wie ich das beschreiben soll... *google... ich habe ein Onlinespiel gefunden in dem genau das ist was ist versuche zu machen " de.t45ol.com/spiel/2175/stickman-sam-4.html " vlt. versteht ihr jetzt was ich meine :D
    lg
    Yes:evil:! It's me:whistling:'
  • Also erst mal ein riesen THX an flogy... und an den "Verwurster" (hehe ;) )... noch mal auf mein altes problem zurück zukommen... hättest du / habt ihr noch ne idee?
    :)
    Yes:evil:! It's me:whistling:'