1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. HTML - Webmaster Forum
  2. HTML / Webmaster Forum
  3. Flash Forum

360 grad drehen

  • maeggi07
  • 11. Juli 2008 um 19:55
  • 1
  • 2
  • maeggi07
    Youngster
    Beiträge
    17
    • 11. Juli 2008 um 19:55
    • #1

    hallo,

    ich bin noch ein anfänger in flash und wie jeder anfänger, fängt man immer klein an.
    ich habe schon viele tutorials durch genommen und beherrsche auch die

    Zitat

    grundlagen von flash. jetzt bin ich dabei erstmal fertige tutorials zu bearbeiten, um noch mehr funkionen kennen zu lernen.

    volgendes problem.

    ich habe ein fertiges tutorial (snake game). das habe ich meinen entsprüchen angepasst und vieles verändert. den wurm bewege ich mit den 4 pfeiltasten


    jetzt möchte ich, das sich der wurm um 360 grad drehen kann. wie zb. auch hier zu sehen ist.

    http://www.miniclip.com/games/snake/de/

    es gibt viele möglichkeiten sowas zu machen. natürlich habe ich vorher erst im net gesucht und auch was gefunden. eine rotation, auch von einem snake spiel. was ich gerne übernehmen möchte.

    hier ist der as dafür, der ist im mc festgelegt.

    [quote]
    <?
    onClipEvent (load)
    {
    _root.dead = false;
    _root.pause = false;
    this.swapDepths(9999);
    }
    onClipEvent (enterFrame)
    {
    if (_root.gameover == true)
    {
    removeMovieClip ("");
    } // end if
    if (_root.dead == true)
    {
    vel = 0;
    } // end if
    setProperty("", _x, _x + dx);
    setProperty("", _y, _y - dy);
    dx = vel * Math.cos(ang);
    dy = vel * Math.sin(ang);
    setProperty("", _rotation, (360 - ang * 5.729578E+001) % 360);
    if (Key.isDown(Key.UP) && _root.dead == false)
    {
    vel = 6;
    } // end if
    if (Key.isDown(Key.LEFT) && _root.dead == false && vel > 0)
    {
    ang = ang + 2.000000E-001;
    } // end if
    if (Key.isDown(Key.RIGHT) && _root.dead == false && vel > 0)
    {
    ang = ang - 2.000000E-001;
    } // end if
    }
    onClipEvent (enterFrame)
    {
    if (_root.hinder.hittest(this._x, this._y, true))
    {
    _root.Death();
    } // end if
    }
    ?>

    Alles anzeigen

    mein problem ist jetzt. das ich es nicht schaffe den as, in meinem spiel einzubinden und die variablen zu übernehem. habe schon vieles versucht und habe mir auch schon ein paar tutorials(alle die ich dazu finden könnte) angesehn.

    ich hoffe das mir jemand dabei helfen kann, meinem wurm um 360 grad zu drehen.
    meine fla hänge ich natürlich auch dran.

    vielen dank schonmal für eure hilfe

    ich wünsche euch noch eines wochenende.

    mfg maeggi

    Dateien

    snake.zip 24,62 kB – 151 Downloads
  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 11. Juli 2008 um 20:34
    • #2

    also willst du dass wir dir das tippen?

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 12. Juli 2008 um 10:05
    • #3

    hallo dodo,

    nein, ich möchte nicht, das ihr mir das macht.
    davon lerne ich ja nichts.
    ich brauche nur eure hilfe dabei.

    also ich denke das nur diese funktion, dafür zuständig ist den wurm um 360 grad zudrehen.

    Zitat


    setProperty("", _x, _x + dx);
    setProperty("", _y, _y - dy);
    dx = vel * Math.cos(ang);
    dy = vel * Math.sin(ang);
    setProperty("", _rotation, (360 - ang * 5.729578E+001) % 360);
    if (Key.isDown(Key.UP) && _root.dead == false)
    {
    vel = 6;
    } // end if
    if (Key.isDown(Key.LEFT) && _root.dead == false && vel > 0)
    {
    ang = ang + 2.000000E-001;
    } // end if
    if (Key.isDown(Key.RIGHT) && _root.dead == false && vel > 0)
    {
    ang = ang - 2.000000E-001;
    } // end if

    Alles anzeigen

    oder?

    und diesen code habe ich bei mir eingebunden. habe den code natürlich dann auch entsprechend geändert zb. so.

    Zitat


    setProperty("", _x, _x + bx);
    setProperty("", _y, _y - by);
    bx = vel * Math.cos(ang);
    by = vel * Math.sin(ang);
    setProperty("", _rotation, (360 - ang * 5.729578E+001) % 360);
    if (Key.isDown(Key.UP) && _root.head == false)
    {
    vel = 6;
    } // end if
    if (Key.isDown(Key.LEFT) && _root.head == false && vel > 0)
    {
    ang = ang + 2.000000E-001;
    } // end if
    if (Key.isDown(Key.RIGHT) && _root.head == false && vel > 0)
    {
    ang = ang - 2.000000E-001;
    } // end if

    Alles anzeigen

    normal brauche ich doch nur das

    _root.dead

    zu

    _root.head

    und


    setProperty("", _x, _x + dx);
    setProperty("", _y, _y - dy);
    dx = vel * Math.cos(ang);
    dy = vel * Math.sin(ang);

    zu

    setProperty("", _x, _x + bx);
    setProperty("", _y, _y - by);
    bx = vel * Math.cos(ang);
    by = vel * Math.sin(ang);


    ändern oder nicht?

    so klappt das zb. nicht. aber warum?
    was muss ich da noch ändern? und warum muss ich das ändern?

    danke für eure hilfe.

    mfg maeggi

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 12. Juli 2008 um 11:07
    • #4

    Ich geb dir einen Tipp: Verwende keinen Code den du nciht verstehst.
    Überleg dir selbe etwas wie du ihn um 360° drehen kannst und frage ob man das so machen könnte.
    Fremden Code verwenden, den man nicht versteht, und dann auch noch umändern will ist IMMER eine Sackgasse.

    Also entweder lernst du Quelltext zu lesen und verstehen (was viel Programmiererfahrung braucht, oder du überlegst dir deinen eigenen Lösungsweg und hol dir von uns Denkanstöße.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 12. Juli 2008 um 12:03
    • #5
    Zitat


    Ich geb dir einen Tipp: Verwende keinen Code den du nciht verstehst.

    da gibt es noch viele von :lol:


    Zitat


    Überleg dir selbe etwas wie du ihn um 360° drehen kannst und frage ob man das so machen könnte.

    wie gesagt, ich bin noch nicht so erfahren in flash. daher verwende ich ja auch noch vorlagen um das besser zuverstehen.

    warum erklärst du mir nicht einfach, warum das nicht funkioniert?

    wenn ich das selber wüsste, wie ich das mache. dann würde ich das auch so machen.

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 12. Juli 2008 um 13:08
    • #6

    Ich versteh es auch nur zum Teil da ich mir das nicht wirklich angesehen habe.
    Selbst einen Lösungsweg zu finden, ist die beste Methode.
    Denk dir einfach Punkt für Punkt durch, wie du es in RL drehen wirdest und was passiert und leg das auf das Programmieren um.

    Aber du willst das was ich am anfang gesagt habe, du willst dass wir dir das machen ;) Ich denke ich müsste dir jede Zeile berichtigen, damit du es verstehst. Aber dabei geht der Lerneffekt gen 0.
    Weil du benutzt eine Idee die nicht von dir kommt und willst von jemand anderem auf dein System umgestellt bekommen. Oder die Erklärung wie man das macht.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 12. Juli 2008 um 14:30
    • #7
    Zitat


    Selbst einen Lösungsweg zu finden, ist die beste Methode.

    wenn ich den wüsste, würde ich ja wohl kaum hier einen thread auf machen oder???


    Zitat


    Aber du willst das was ich am anfang gesagt habe, du willst dass wir dir das machen

    NEIN, ich möchte nicht das mir das jemand macht. dann würde ich das in einem anderen forum posten.

    Zitat


    Ich denke ich müsste dir jede Zeile berichtigen, damit du es verstehst. Aber dabei geht der Lerneffekt gen 0.

    warum willst du mir jede zeile berichten?
    ich habe nicht darum gebeten das du mir jede zeile erklären sollst. ich möchte nur wissen warum das so nicht funkioniert.

  • maeggi07
    Youngster
    Beiträge
    17
    • 12. Juli 2008 um 23:42
    • #8

    wieso wird das eig. mit Math.cos gerechnet.

    wieso kann man das nicht einfach mit rotation und speed machen?

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 00:06
    • #9

    Flash kann nur mit X und Y rechnen
    Deswegen braucht man Trigonometrie, sprich: Kosinus und Sinus

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 01:04
    • #10

    nabend,

    ja, das wusste ich auch :) aber warum muss das so kompliziert gerechnet werden.

    eine rotation kann man doch eig. auch dafür verwenden ohne die komplizierten sachen.

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 01:40
    • #11

    wenn du einen winkel mit betrag hast und X und Y-Werte haben willst musst du Sinus und Kosinus verwenden

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 15:07
    • #12

    hm....
    ich suche jetzt seid 2 stunden im net und finde einfach kein tutorial auf deutsch. wo das erklärt wird.

    kennst du vieleicht ein deutsches tutorial?

    oder wonach muss ich suchen?

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 15:33
    • #13

    wofür brauchst du genau ein tutorial?

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 15:39
    • #14

    wo erklärt wird wie man sowas macht. für dich vieleicht sehr einfach. aber ich verstehe davon nur bahnhof und abfahrt ausser mit _x _y das andere verstehe ich nicht.

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 16:59
    • #15

    also schau: Hier die grundgleichungen

    UnterschiedX = Geschwindigkeit * Kosinus(AktuellerWinkel)
    UnterschiedY = Geschwindigkeit * Sinus(AktuellerWinkel)

    Also damit bekommst du, um wie viel sich die Figur beim aufruf ändert, dass musst du nur noch verarbeiten

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 18:28
    • #16

    also wäre das denn zb.

    this._x += Math.cos(rad)*distance;
    this._y += Math.sin(rad)*distance;


    ?????????

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 18:38
    • #17

    jop

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 22:34
    • #18

    ich weiß ich nerve dich, aber ich blicke da einfach nicht durch.

    wärst du vieleicht so nett und könntest mir ein kleines beispiel machen?

    wenn es zuviel verlangt ist, brauchst du es nicht machen :D

    ich brauche ja nur die tastenfunkion

    if (Key.isDown(Key.LEFT)
    if (Key.isDown(Key.RIGHT)

    es wäre echt super von dir.

    nur ein beispiel, mehr nicht

    wenn du keine lust dazu hast ist das auch okay.

    mfg maeggi

  • maeggi07
    Youngster
    Beiträge
    17
    • 13. Juli 2008 um 22:53
    • #19

    ich weiß ich nerve dich, aber ich blicke da einfach nicht durch.

    wärst du vieleicht so nett und könntest mir ein kleines beispiel machen?

    wenn es zuviel verlangt ist, brauchst du es nicht machen :D

    ich brauche ja nur die tastenfunkion

    if (Key.isDown(Key.LEFT)
    if (Key.isDown(Key.RIGHT)

    es wäre echt super von dir.

    nur ein beispiel, mehr nicht

    wenn du keine lust dazu hast ist das auch okay.

    mfg maeggi

  • Dodo
    Jedi Ritter
    Reaktionen
    1
    Beiträge
    3.774
    • 13. Juli 2008 um 23:07
    • #20

    was willst für ein beispiel?
    dann kann ichs dir coden

    Aber erst morgen, muss um 5.30 auf...

    Something big is coming. And there will be pirates and ninjas and unicorns...

    • 1
    • 2

Tags

  • spiel
  • quelltext
  • game
  • drehen
  • problem
  • frames
  • code
  • bearbeiten
  • methode
  • flash
  • system
  • programmieren
  • sys
  • erklärung
  • tutorial
  • root
  • variable
  • tutorials
  • sinus
  • berichtigen
  • stöße
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche