Richtungen "mixen"

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

  • Richtungen "mixen"

    Ja, die Überschrift ist schlecht gewählt -_- :no:
    Ich hab so uff die Schnelle keine Idee wie man das am besten hätte schreiben können.
    Folgender Script:

    GML-Quellcode

    1. var aa;
    2. for (i=0;i<=1;i+=0.1) {
    3. if (lastangle > image_angle) {
    4. if (lastangle - 180 > image_angle)
    5. {aa = lastangle*(1-i) + (image_angle+360)*i;}
    6. else
    7. {aa = lastangle*(1-i) + image_angle*i;}
    8. }
    9. else {
    10. if (image_angle - 180 > lastangle)
    11. {aa = lastangle*(1-i) + (image_angle+360)*i;}
    12. else
    13. {aa = lastangle*(1-i) + image_angle*i;}
    14. }
    15. draw_sprite_ext(sprite_index,-1,x,y,1000,1,aa,c_red,image_alpha*i/3);
    16. }
    17. lastangle = image_angle;
    Alles anzeigen

    Hat folgende Funktion:
    Eine Art "Motion Blur" für sich drehende Objekte.
    Sieht klasse aus und funktioniert soweit ganz gut.
    Das Problem:
    Wenn ich nun image_angle verringere, und es dann von sagen wir mal 5 auf 355 springt, gibt es einen kleinen Fehler, nur weiß ich nicht genau warum... Ich hab den Code auf die schnelle geschrieben, wahrscheinlich ist irgendwo ein Denk- / Blödheitsfehler drin, nur WO?!?

    schonmal im voraus für die Hilfe :D
  • Du hast sicherlich die Suchfuntion des Forums nicht genutzt! Sonst wäre dir folgendes aufgefallen:
    ... Ich habe dir hier die Datei schon rausgesucht: motionblur.gm6
    PS: Im Example die Tasten "+" und "-" drücken, um das Objekt zu drehen.
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20

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

  • Aha... sieht ganz in Ordnung aus, und was ist bei meinem falsch? xD
    EDIT: Ok, bei mir eingebaut siehts jetzt richtig kacke aus. Info: Mein Objekt soll einen Laser darstellen, alles funktioniert bis auf dieses eine Problem:
    copyboy.co.ohost.de/scooter.gm6
    Im Draw-Event ist grade dieser MotionBlur Script "an". Wenn ihr den rauslöscht und /* bzw. */ entfernt könnt ihr mein Script testen.

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

  • Versuchs mal mit diesem Code:

    GML-Quellcode

    1. var aa;
    2. for (i=0;i<=1;i+=0.1) {
    3. if (lastangle > image_angle) {
    4. if (lastangle - 180 > image_angle)
    5. {aa = lastangle*(1-i) + (image_angle+360)*i;}
    6. else
    7. {aa = lastangle*(1-i) + image_angle*i;}
    8. }
    9. else {
    10. if (image_angle - 180 > lastangle)
    11. {aa = lastangle*(1-i) + (image_angle-360)*i;}
    12. else
    13. {aa = lastangle*(1-i) + image_angle*i;}
    14. }
    15. draw_sprite_ext(sprite_index,-1,x,y,1000,1,aa,c_red,image_alpha*i/3);
    16. }
    17. lastangle = image_angle;
    Alles anzeigen


    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!