Anzeige

AS3 Figur mit Pfeiltast drehen

AS3 Figur mit Pfeiltast drehen | PSD-Tutorials.de

Erstellt von johanna52, 18.08.2011.

  1. johanna52

    johanna52 Interessierte

    Dabei seit:
    16.09.2006
    Beiträge:
    577
    Geschlecht:
    weiblich
    Ort:
    nähe Paderborn
    Software:
    InDesign, Dreamweaver, Photoshop, Illustrator, Premiere u.a.
    AS3 Figur mit Pfeiltast drehen
    Hallo alle zusammen,
    hab' mal wieder ein Problem. Habe ein Spiel mit einer Figur und Kollisionerkennung. Ich bewege nun eine Figur mit den Pfeiltasten von rechts nach links und zurück. Das funktioniert auch.

    Nun wollte ich, dass sich die Figur umdreht, wenn ich die andere Taste drücke, also von links nach rechts geht. Dies passiert öfters mitten auf der Bühne und nicht erst am Rand.
    Ich dachte mir, mache das mit scaleX=-1; bzw. scaleX=1; Doch leider funktioniert das nicht korrekt. Die Figur dreht sich zwar, beginnt dann aber am Rand und wird dabei sogar noch dick.

    Das AS ist in der Zeitleiste und alles spielt sich direkt auf der Bühne ab, also keine Dokumentenklasse.

    Bin für jeden Tipp danbar.

    Code (Text):
    1.  
    2. //KEYBOARD LinksRechts
    3. function LinksRechts (event:KeyboardEvent):void {
    4. switch(event.keyCode )
    5. {
    6. case Keyboard.LEFT:
    7. left = true;
    8. figur_mc.play();
    9. break;
    10. case Keyboard.RIGHT:
    11. right = true;
    12. figur_mc.play();
    13. break;
    14. }
    15. }
    16.  
    17. //KEYBOARD Loslassen
    18. function Loslassen (event:KeyboardEvent):void {
    19. switch(event.keyCode )
    20. {
    21. case Keyboard.LEFT:
    22. left = false;
    23. figur_mc.scaleX=-1;
    24. figur_mc.gotoAndStop(1);
    25. break;
    26. case Keyboard.RIGHT:
    27. right = false;
    28. figur_mc.scaleX=1;
    29. figur_mc.gotoAndStop(1);
    30. break;
    31. }
    32. }
    33.  
    34.  
    35. function Bewegung(event:Event):void {
    36. if(right==true) {figur_mc.x += 6;}
    37. if(left==true) {figur_mc.x -= 6;}
    38. //Begrenzungen links
    39. if( figur_mc.x < 5 ) {
    40. figur_mc.x=5;
    41. figur_mc.gotoAndStop(1);
    42. }
    43. //Begrenzungen rechts
    44. if( figur_mc.x > 470 ) {
    45. figur_mc.x=470;
    46. figur_mc.gotoAndStop(1);
    47. }
    48. }
    49.  
    50.  
     
    #1      
  2. ad86

    ad86 Allrounder

    Dabei seit:
    23.01.2010
    Beiträge:
    578
    Geschlecht:
    männlich
    Software:
    MasterCollection CS4
    Kameratyp:
    Canon Eos 60d
    AS3 Figur mit Pfeiltast drehen
    AW: AS3 Figur mit Pfeiltast drehen

    Hi,

    1. Hat die Dame nichts von Formatierung gehört ;)

    2. Funktionen schreibt man klein. ("Bewegung" wird genutzt wenn Du eine eigene Klasse schreiben würdest, besser ist also bewegung, wobei man Methoden er einen "aktiven" Namen gibt, z.B. errechneBewegung)

    3. Kommen wir zu dem Punkt, wo nicht AS3 Schuld ist: Verschieb Deine Figur (also wenn Du dich innerhalb des MC figur_mc befindest, so dass Sie mittig zum Ursprung liegt). Die x-Position darf also nicht 0 sein. Z.B. Du markierst alles in dem jeweiligen Frame. Unter Eigenschaften siehst Du die Breite. Bei Position x gibst Du ein -Breite/2. Vergess' das Minus vor Breite nicht.

    Und das darfst Du jetzt mit jedem Frame machen, der ein neues Schlüsselbild hast.

    MFG ad86
     
    #2      
  3. johanna52

    johanna52 Interessierte

    Dabei seit:
    16.09.2006
    Beiträge:
    577
    Geschlecht:
    weiblich
    Ort:
    nähe Paderborn
    Software:
    InDesign, Dreamweaver, Photoshop, Illustrator, Premiere u.a.
    AS3 Figur mit Pfeiltast drehen
    AW: AS3 Figur mit Pfeiltast drehen

    Danke, tatsächlich stand die Figur bei x=0 --> habe nun alles auf den Mittelpunkt verschoben und es läuft.

    Die Funktionen schreibe ich demnächst wieder alle klein. Sowas passiert, wenn man mit Tuts arbeitet - aber Du hast ja Recht.
     
    #3      
x
×
×