Drehung meines Autos

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

  • naja... so viel speicherplatz ist es auch nicht 16 einzelne Bilder fuer ein Auto zu haben... wenn du mal andere Spiele wie Super Mario bedenkst:
    rechts laufen/links laufen/mit gesicht nach rechts hoch gucken/mit dem Gesicht nach links hochgucken/mit gesicht nach rechts ducken/mit gesicht nach links ducken/mit gesicht nach rechts rutschen/...
    Da biste auch locker mal auf 16 Sprites fuer eine Figur.

    Ohne registrierte Version gehts, wie im Beispiel, aber ohne GML wird das echt viel Klickerei^^
    Aber das als sinnlos abstempeln wuerde, ich nicht...

    Mal nen kleiner Einfall am Rande, der fuer die Problemloesung vielleicht zu weit gegriffen waere, aber:
    Man koennte ja auch dass Auto in Form von Punkten und Linien in einer Matrix speichern. Die kann man ja einfach mit dem GM zeichnen und die Matrix kann man dann ja problemlos rotieren... wobei das wahrscheinlich sehr resourcenlastig waere... jedoch haette man eine Rotation auch als unregestrierter User. Die Bilder liessen sich mit Hilfe eines Tools auch bestimmt simpel in einen Datentyp konvertieren.

    edit: ich sollte mir abgewoehnen meine Posts nocheinmal gepostet durchzulesen... dann muss ich nicht immer die gefundenen Rechtschreibfehler korrigieren
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte

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

  • Am besten du packst alle Versionen des Autos in ein Sprite. Dafuer doppelklickst du das Sprite in der Liste, gehst dann auf edit sprite und klickst dann auf das vierte Icon von links (der Ordner mit dem Plus). So kannst du in einem Sprite viele Bildchen einfuegen.
    Du kannst dich nahe am Panzerbeispiel bewegen, da es eigentlich genauso ist, wie dus brauchst.
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte
  • Was hältst du von importieren?
    Der GM kann auch Gifs verwenden, und konvertiert die auch - so nett wie er ist - in die einzelnen Frames.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Wie in der Demo ;)

    Ich wills dir erklaeren:
    erstmal darf der panzer trotz der vielen Bilder nicht animiert sein. Die Bilder sind halt nur subimages, die in der Regel fuer animationen genutzt werden, bei uns aber nicht dazu dienen sollen. Falls sich das auto dreht, dann musst du eine Variable aendern, deren name ich nicht genau kenne, die fuer die Geschwindigkeit der Animation zustaendig ist... der einzustellende Wert ist halt 0.
    Wenn du dir mal das Panzer Object anschaust, dann hat das ein Step Event... das wird dauernd ausgefuehrt und in diesem Event wird das Sprite des Panzers von aktuellen wieder zum aktuellen gesetzt, aber mit einem anderen subimage. Im subimage Feld steht einfach move, was vielleicht verwirrend ist, wenn man nicht weiss, dass move eine Variable ist. move enthaelt den zehnten Teil des aktuellen Winkels. Im pressleft- und pressright-event wird nun die move variable veraendert, so das sich der in move gespeicherte Winkel aendert. Damit dieser Winkel auch der tatsaechliche Winkel wird, wird noch eine setdirection Anweisung ausgefuehrt und als Winkel wird move*10 angegeben, weil move ja eben den zehnten Teil des Winkels, also Winkel/10 enthaelt. Wenn du weniger Bilder hast... sagen wir 18, dann muesstest du im entsprechenden event move*20 nehmen oder allgemein: move*(360/anzahl der Bilder).
    Da sich beim pressleft- und pressright-event der Winkel in move aendert, aendert sich durch die Anweisung im Stepevent auch das subimage.

    Ich hoffe ich konnte dir helfen.
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte
  • Und die Variable heißt image_speed.

    image_speed diese Variable gibt die Geschwindigkeit an mit der die Einzelbilder gezeigt werden sollen. Der eingestellte Wert ist 1. Wenn du diesen Wert größer als 1 machst, werden manche Einzelbilder überspringen und die Animation wird schneller. Wenn du den Wert kleiner als 1 machst, wird die Animation langsamer.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Achso... noch eine Ergaenzung, fuer deren Richtigkeit ich aber noch gerne eine bestaetigung haette, weil ich mir nicht sicher bin:

    Du musst den image_speed nicht gleich 0 setzen und hast trotzdem kein drehendes Fahrzeug, solange du es nicht drehst, weil im step event immer wieder das zu dem Winkel gehoerende subimage eingestellt wird.
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte
  • also ich habe das jezt so gemacht:
    1.Objekt
    2.key press
    3.press <right>
    4.dann unter der Kategorie Code das blatt mit dem knick oben rechts.
    5.diesen code eingegeben: direction =12//gradzahl


    Und jezt passiert irgentwie garnichts.
  • also beim pressright event erhoehst du z.B. die move, direction oder wiedusieauchimmergenannthast Variable um 1. Wenn sie groesser als die Anzahl deiner subimages wird, setzt du sie wieder auf 0. Im stepevent benutzt du dann setsprite. Jetzt sollte sich zumindest das sprite drehen. Ich kann dir auch alles schoen vor programmieren, aber versuch einfach den code aus dem Panzerbeispiel zu verstehen. Das Verstehen von Quelltext spielt fuer den Lernprozess des Programmierens eine oft unterschaetze Rolle. Besonderst eine Erklaerung des Quelltextes, wie ich versucht habe sie zu geben, sollte dazu vollkommen reichen. Vielleicht verstehste den Quelltext nicht auf Anhieb, aber wenn ich mal eine Anekdote aus meinem Leben aufgreifen darf:

    Ich hab mal vor vielen Jahren eine Kampfsystemdemo fuer den RPG Maker geladen... die war so komplex, dass ich trotz der noetigen Kenntnisse den Code nicht verstanden hab. Ich habe bestimmt 3 Nachmittage dran gesessen und dann hatte ich den Code geknackt. In der Zeit hab ich nicht in nem Forum oder so gefragt, wie es funktioniert, sondern wirklich nur ueberlegt, wie was funktioniert, zusammenhaenge erkannt und mir so nach und nach den Code erschlossen.

    Den groessten Fehler den du beim Programmieren machen kannst, ist es zu versuchen dich durchzuschummeln, also irgendwelchen Code zu schreiben, der scheint das zu machen was du willst, aber du hast keine Ahnung wieso ueberhaupt. Das passiert sehr schnell, wenn du versuchst Code zu kopieren oder von jemanden anderst Code nimmst und versuchst darauf dein Game weiterzubauen.

    Also nochmal mein Tip:
    Bevor du etwas anderes tust, waere es vielleicht das beste dich wirklich intensiv mit dem Beispiel auseinanderzusetzen. Dadurch entwickelst du fuers Programmieren notwendige Fertigkeiten und loest dein Problem auf eine befriedigendere Art und Weise, als wenn du es dir einfach von jemanden vorcoden laesst. Wenn du dich schon intesiv mit dem Code ausseinandergesetzt hast, dann bist du hier natuerlich genau richtig, nur ist das intensive Auseinandersetzten etwas, was laenger als vielleicht 15min dauert.

    EDIT: Oh, du hast ja den GM registriert @^-^@... dann machst du es, wie Kilik es geschrieben hat... ich glaub es gibt auch extra Buttons fuer Drag und Drop dafuer... die heissen dann rotatesprite oder so. Aber dennoch waere es - wie gesagt - lehrreich, wenn du es auf die andere Methode mal versuchen wuerdest, wobei diese dann nachher in der Praxis ganz klar _nicht_ Kiliks Methode vorzuziehen waere.
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte

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

  • ja ich werds mal versuchen. Nur ist noch eine kleine Frage offen, und zwar finde ich nihct das set Sprite event. Wo ist das, bzw. wie sieht das zeichen aus?

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

  • So habe jezt die sachen zum drehen gebracht, klappt auch alles. Nur ich kann nicht in die richtige Richtung fahren (grüner pfeil, so muss es sein. roter pfeil so darf es nicht sein.)
    Bitte kann mir noch mal einmal helfen, währe sehr nett.

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

  • Ich nehm mal einfach an, dass du das ganze mit rechts links drehst...
    dann benutzt du einfach beim press up Event den move free Button (8 blaue Pfeile), gibst da halt ne konstante Geschwindigkeit ein und gibst bei direction die Variable ein, die den Winkel deines Autos eingibt... beim Panzerbeispiel waere das move.
    Zwei kleine Fabeln zum Thema Copyright und Patente:
    Das Schwein und die Kiste und Die Krähe die fliegen konnte
  • Hi^^
    Tut mir Leid, wenn ich so dumm frage, aber... Ich habe so ein ähnliches Problem.
    Ich hab mich von David´s Bot zu einem Space-Shooter hinreißen lassen...
    Doch mit der Zeit traten Probleme auf: Ich wollte das Raumschiff drehen, aber da ich es über Maus-Steuerung basteln wollte, ging das nicht so einfach, dass sich das dreht... Genau dasselbe sollen die Gegner machen: sie sollen sich in die Richtung drehen, in die sie laufen.
    Würde mich sehr über Hilfe freuen, könnte Hilfe mit Bildbearbeitung vergelten =D

    Das Prog ist im Anhang...
    Dateien

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

  • RE: Drehung meines Autos

    mein auto hört nicht auf sich zu drehen, wenn ich auf z.B. links gedrückt habe. Und ich kann nicht den spielfortschritt euch schicken, weil die Datei irgentwie 10 MB groß ist, wegen der bilder, die einzelnd gespeichert worden wurden. kann mir wer helfen? versteht ihr das problem?
  • also, ich mach so etwas öfter, und bei mir schaut des so aus:
    bei der unregistrierten version kann man ja beim sprite editor unter animation->rotation(oder so ähnlich)->(und dann die richtung) dann einstellen, in wie vielen bildern das bild sich um wieviel grad dreht(man muss natürlich vorher ein bild machen). Ich mach da immer 36 bilder und 360 grad.
    dann erstell ich ein script(das geht bei mir in der unregistrierten version) und schreib:
    {
    image_speed=0
    image_index=direction/10 //z.b. direction=270,dann kommt das bild 27
    }

    des dann beim objekt unterm step event des script ausführen.

    dann mach ich beim create event set friction 1(oder so, jenachdem wie groß dein auto ist)
    bei den (nach-oben) und (nach-unten) tastatur events mach ich dann variable speed=1 und relative und beim (nach-unten) umgekehrt


  • Ja, ich weiß, so mach´ ich das auch immer...aber das Game wird ja über Maus gesteuert... Ich hatte auch schon die Idee, eine Variable zu nehmen, aber das Problem ist nur, dass die ja erhöht werden muss. Ich wollte eigentlich den Befehl "Zur Maus drehen" aus der GMatrix-Power-Lib verwenden, aber der geht nur in der REG...