Objekte um Lokale Achse drehen

  • GM 7

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

  • Objekte um Lokale Achse drehen

    Hallo Leute,

    Wie kann ich ein Raumschiff um die Lokale Achse drehen.

    z.B. möchte ich,

    wenn man d rückt, dass es sich um die Lokale y achse dreht.

    Der sinn ist, wenn das Schiff um 90° um die eigene Achse Rotirt, und man dann mit s "Hoch fliegt" soll es eine Kurve fliegen.
  • etwas älter war lang nit on.

    Das Objekt ist 3dimensional(ein raumschiff) und dass soll so fliegen wie ein raumschiff es tut.

    Beim drücjken von W/S runter/hochfliegen in richtung der eigenen achse

    bei A/D um die achse drehen.

    um eine kurve zu fliegen muss man also zuerst mit a oder d das objekt kippen dann hoch fliegen also die kurve machen und dann wieder waagerecht drehen.
  • Du brauchst fdafür die variable direction

    sprite angle: direcion

    (W) - move free: speed = X, direction = direction

    (A) - direction = +X oder -X (das muss in ein skript)

    und dann brauchst du noch eine Abfrage

    if direction > 359 set direction to 0
    if direction < 0 set direction to 359

    falls das zu diffus war kann ich es ganz genau aufschreiben, ich weiß nicht wie viel erfahrung du schon hast...

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • So also die Events aufgelistet und im Spoiler steht welche Actions drinnen sind

    Step
    Spoiler anzeigen

    +Transform Sprite
    -xscale=1
    -yscale=1
    -angle=direction
    -no mirroring
    +if direction larger than 359 set direction to 0
    +if direction smaller than 0 set variable direction to 359


    Up
    Spoiler anzeigen

    +Set direction and speed of motion
    -direction=direction
    -speed=zB.:8


    Down ebenso nur andersrum und ggf auch Keyrelease event mit speed=0

    Left
    Spoiler anzeigen

    +If speed=8 set variable direction to 10
    +if speed=-8 set variable direction to -10

    damit beim Rückwärts fahren die Lenkung sich "normal" verhält


    Und mit Right ganz genauso verfahren nur andersrum

    ich hoffe, damit konnte ich helfen

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • mhm ich verstehe nicht was die variabeln bewirken und wie du das gemacht hast ist es seh allgemein, ich stell mich da ein bisschen doof an zudem schreibst du ein code damit die lenkung beim rückwärtsfahren stimmt, dabei ist das objekt ein raumschiff das nicht rückwärts fliegt, zudem soll man nicht direkt lenken lönnen sonden nur das raumschiff schwenken und hoch und runter fliegen mehr nicht, die lenkung entsteht dann durch die richtung in die das schiff geschwenkt wurde ein beispiel:

    Will man eine Rechtskurve fliegen dreht man mit "D" das schiff 90° nach innen, mit "S" fliegt man nach"oben"was in dem fall nach rechts wäre, und dann wieder mit "A" 90° zurück drehen damit es wieder wagerecht ist.
  • Oh ok...sry...das mit dem Raumschiff hab ich wohlö überlesen...

    also auch ohne "Rückwärtsgang" fliegst du mit meiner Methode in Kurven und gerade aus ist dann immer wo die Spitze des Raumschiffs hinzeigt...

    Verstehe ich das richtig, dass dein Raumschiff keine Kurven fliegen soll, sondern sich immer nur im Stand dreht und dann in einer geraden zum nächsten gewünschten Ort fliegt?

    Wenn ja dann brauchst du nur die if speed=XY abfrage weglassen...dann dreht sich das Raum schiff im Stand und kan dann gerade aus weiterfliegen und sich wieder beliebig drehen...um zu verhindern dass es sich im Flugh dreht kannst du es ja auch erzwingen sich nur zu drehen wenn: speed=0

    Übrigens sind alle meine Codes in dem Beispiel nur Drag&Drop Actions...

    Wenn ich dich immernoch missversthe brauch ich bitte ein skizze wie sich das ding verhalten soll...

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Also das ding soll mit dem mausrad die geschwindigkeit verändern mausrad hoch schneller mausrad runter langsahmer wie im flieger der hebel. Wie ich das mach das die Geschweindigkeit konstant bleibt je nach einstellung weiß ich.

    Nun soll sich das sing in 2 richtungen drehen einmal um die eigene Achse mit a oder d und hoch und runter mit w und s die kurven ergeben sich dann automatisch durch schwenken und hochfliegen wie in einem echten flieger sollte klar sein nur mein problem ist trotz das ich mich um 90 ° schwenkte fliegte mein schiff in richtung der Welt-achse nach oben was es aber nicht soll. so zusagen muss sich das lokale achsensystem beim schwenken mit drehen.
  • -.-* 3d

    also wenn du mit der variable "direction" die links rechts drehung steuerst, müsste sich das Raumschiff mit hoch und runter daran anpassen...also wenn es sich zB um 35° gedreht hat und du dann mit "w" nach oben steuerst oder dich neigst sollte das klappen als ob du schräg über eine treppe steigst weil "direction" immer dieSpitze des Schiffes angibt...
    Ich bin im 3dimensionalem aber noch nicht so gut bewanden als dass mich ausgiebigst auch mit "steigen und fallen" beschäftigt hätte...

    Ich würde sagen, von hier an bin ich überfragt...aber ich denke dass es eine einfache methode gibt...ohen das sich das ganze achsensystem mit dem Raumschiff mitdrehen muss (falls es das eben nicht eh automatisch tut wenn man x,y,z mit direction umschreibt...dann sind x,y,z immer relativ zum Raumschiff weil direction ja immer die Spitze ist, also relativ zu direction x+ soundsoviel, y+ soundsoviel und y+ soundsoviel...aus Sicht des Raumschiffs aus ist oben immer am oberen Bildschirmrand usw...aus sicht des rooms fliegst du aber schräg, oder sogar runter weil du dich gedreht hast...das sollte das Raumschiff aber nicht stören...

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • du hast verstanden was ich wollte aber wenn cih es mit direction steuerte war garnix relativ ich musste sogar die variable speed mit einer anderen formel verwenden da ich sonst egal wie hoch ich stehe immer gerade aus in richtung raum flog