Drehung mit nur einem Pic ?

  • Drehung mit nur einem Pic ?

    Wie kann ich es machen, dasss ich ein objekt drehen kann, ohne mehrere Bilder zu benutzen ? Zusätlich sollte man es noch auf knopfdruck drehen können und eine Art Schlittereffeckt erzeugen....so dass man wenn man kurz drück trotzdem noch weiter dreht und sich in die enstprechende Richtung bewegt .....

    Ich hoffe ihr versteht was ich meine.....

    Danke im Vorraus....SSS
    SSS klingt zwar unglaublich, ist aber so !
  • Also wenn man das Spiel in C++ schreiben würde und sich die Bilder in Echtzeit drehen würden wäre es zumindest kein Problem. Wenn du das nciht verstehst guck dir mal die Entwicklung von 3D Games an. Da werden so derbst viele Recourcen für die Graphik verbraucht...

    Aber zum Thema: Ich hatte noch nie was mit Parttikeln im Zusammenhang mit GM zu tun (ja gut, ansonsten eigentlich auch nicht), aber vielleicht könnte man damit was machen. Weil der GM benutzt ja auch Sprites als Partikel und er kann die Sprites ja drehen. Aber wie schon gesagt, ich hatte nie was damit zu tun und bin auch nciht regestriert.
    Robots are cool because they're made of metal and metal is usually a few degrees below the ambient temperature.
  • es müsste mit:

    sprite_rotate(ind,angle,quality) Rotates the image(s) in the sprite over angle degrees. quality gives the quality of the image (1-9). The large the better the quality but the longer it takes.

    gehen.

    dürft aber ziemlich langsam sein.
    www.glowingorb.de
    „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

    (Schachweltmeister Emanuel Lasker)
  • ich habe diese funktion getestet. um einen raketen-stripe mit 12 bildern einer rakete, jeweils um 30 grad weitergedreht zu erhalten, hätte ich erwartet, dass es heißen müsste:

    Quellcode

    1. b1 = sprite_rotate(b_rakete, -30,9)
    2. b2 = sprite_rotate(b_rakete, -60,9)
    3. b3 = sprite_rotate(b_rakete, -90,9)
    4. usw
    Ich erhalte des stripe aber mit folgendem code:

    Quellcode

    1. b0 = b_rakete
    2. draw_sprite(0,b0 , 10, 10)
    3. b1 = sprite_rotate(b0,-30,9);draw_sprite(0,b1 ,110, 10)
    4. b2 = sprite_rotate(b0,-30,9);draw_sprite(0,b2 ,210, 10)
    5. b3 = sprite_rotate(b0,-30,9);draw_sprite(0,b3 ,310, 10)
    6. b4 = sprite_rotate(b0,-30,9);draw_sprite(0,b4 , 10,110)
    7. b5 = sprite_rotate(b0,-30,9);draw_sprite(0,b5 ,110,110)
    8. b6 = sprite_rotate(b0,-30,9);draw_sprite(0,b6 ,210,110)
    9. b7 = sprite_rotate(b0,-30,9);draw_sprite(0,b7 ,310,110)
    10. b8 = sprite_rotate(b0,-30,9);draw_sprite(0,b8 , 10,210)
    11. b9 = sprite_rotate(b0,-30,9);draw_sprite(0,b9 ,110,210)
    12. b10= sprite_rotate(b0,-30,9);draw_sprite(0,b10,210,210)
    13. b11= sprite_rotate(b0,-30,9);draw_sprite(0,b11,310,210)
    Alles anzeigen

    Warum??
    Dateien
    • test.zip

      (6,45 kB, 213 mal heruntergeladen, zuletzt: )
  • Um das in Echtzeit zu machen könnte man höchstens noch ne DLL schreiben.
    sprite_rotate ist die einzige noch einigermaßen sinnvolle Funktion dafür.
    Es gab auch mal GML Code für sowas, aber das ist dann nicht mehr über 8-10 fps zu bringen.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • vielleicht überlegst du dir das noch mal mit dem einen bild, das GM dauernd drehen soll.

    wenn du dich entschliessen könntest, die nötigen rotationsbilder vorab mit irgendeinem (zB Grafik-)programm zu erzeugen, wäre GM nämlich ziemlich fix in der verarbeitung dieser rotationsbilder:
    Dateien

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

  • Ich finde es auch besser mit dem mehreren Sprites, mein Problem sit nur das ich dann viel zu viele Bilder haben würde......allein schon mit den Animation kämen pro objekt über 50 Sprites zusammen und ich hab viele objekte !!!
    Außerdem kann ich das vom Code (glaube ich) nicht so gut einbauen, aber es ist scheinbar die beste möglichkeit !
    SSS klingt zwar unglaublich, ist aber so !
  • Dann bleibt dir nur gute Resoucenverwaltung. Aber ein Sprite braucht keine 50 einzelbilder... Entweder, du weist über manche Dinge nicht bescheid, oder du vergisst dass selbst die größen Spiele wie Diablo2 mit eigentlich wenigen sprites auskommen, in D2 werden andere Waffen z.B. einzeln auf den Chara gesetzt, es wird kein neuer Sprite gemacht.
    Lass dir das durch den Kopf gehn, ich wollte nur was abschließendes schreiben um keinen Thread mit ner Frage am Ende zu haben,
    und ich schließe jetzt.
    Besteht dringende Notwendigkeit, schick ne PM und ich öffne wieder, aber er erscheint mir nicht so und der Thread ist schon ein bisschen älter.
  • Benutzer online 1

    1 Besucher