Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-02-2004, 12:58   #1 (permalink)
dEX
getKnowledge();
 
Benutzerbild von dEX
 
Registriert seit: Feb 2002
Ort: Schweiz
Beiträge: 82
Ease per Actionscript auf Movieclip

Sali jungens und mädels


Ich hab mal ne Frage. Ich hab nen Movieclip mit 30 frames.
Bei (release) von nem Button soll dieser zum Beispiel nach Frame 10 gehen und dort stehen bleiben. Oder von Frame 10 nach Frame 5 und dort stehen bleiben. Aber das ganze mit ease, also langsam abremsen.

ich hab mal folgendes AS auf den Movieclip gelegt:

ActionScript:
  1. onClipEvent (enterFrame){
  2.     if (_root.cursor._currentframe < _root.check){
  3.         _root.cursor.nextFrame();
  4.     }
  5.     else if (_root.cursor._currentframe > _root.check){
  6.         _root.cursor.prevFrame();
  7.     }
  8.     else if (_root.cursor._currentframe == _root.check){
  9.         _root.cursor._currentframe = _root.check;
  10.     }
  11. }

nur leider fällt mir das ease hier. Wie kann ich das per AS bewerkstelligen und ist das überhaupt möglich?


Danke für die Hilfe oder den Denkanstoss
dEX ist offline   Mit Zitat antworten
Alt 12-02-2004, 13:24   #2 (permalink)
links, gerade, letzte tür
 
Benutzerbild von KAI IX
 
Registriert seit: Oct 2001
Ort: Köln
Beiträge: 705
hoi.

sinnvoller ist es hier, sich die koordinaten des movieclips an den jeweiligen keyframes zu merken, diese in ein array zu packen und mit einem kleinen script den mc dahin zu easen.
ich habe dir mal schnell was gebaut.

erstelle mal einen mc auf der hzl und gib ihm den instanznamen "mc". dann packe folgendes script auf diesen mc:
ActionScript:
  1. onClipEvent(load){
  2.     pos_arr=[[this._x,this._y],[100,150],[250,460],[20,10],[50,50]]//hier stehen die jew. koordinaten drin. bitte mit deinen werten ändern...
  3.     posInt = 0 // anhand dieser var wird der index des array ermittelt
  4.     friction = .18 // wird für den ease-algorithmus benötigt
  5. }
  6. onClipEvent(enterFrame){
  7.     speedx = pos_arr[posInt][0] - this._x
  8.     speedy = pos_arr[posInt][1] - this._y
  9.     this._x += speedx * friction
  10.     this._y += speedy * friction
  11. }

nun erstellst du ein schaltflächenobjekt auf der hzl und schmeisst folgendes drauf:
ActionScript:
  1. on(press){
  2.     if(_root.mc.posInt<_root.mc.pos_arr.length-1){
  3.         _root.mc.posInt++
  4.     }else{
  5.         _root.mc.posInt=0
  6.     }
  7.     trace(_root.mc.posInt)
  8. }
das müsste das gewünschte result bringen.

mfg,
kai
__________________
2addicted.de
KAI IX ist offline   Mit Zitat antworten
Alt 12-02-2004, 13:54   #3 (permalink)
dEX
getKnowledge();
 
Benutzerbild von dEX
 
Registriert seit: Feb 2002
Ort: Schweiz
Beiträge: 82
hey genial..

Genau das AS das ich für den Movieclip brauche. Jetzt nur noch am Bötten rumbasteln und dann funzt des schon. Vielen Vielen Dank für das Konzept und die prompte Hilfe.

Genialer Support hier wie immer..
dEX ist offline   Mit Zitat antworten
Alt 12-02-2004, 14:22   #4 (permalink)
dEX
getKnowledge();
 
Benutzerbild von dEX
 
Registriert seit: Feb 2002
Ort: Schweiz
Beiträge: 82
eine Frage hab ich aber noch zum Ease.. rein für mein eigenes Verständniss:

ActionScript:
  1. this._x += speedx * friction
  2. this._y += speedy * friction

wieso erzeugt dies den Ease effekt? raff des ned so ganz.

Hab zwar gesehn das sobald friction fehlt die MC einfach an den ausgewählten ort springt ohne ease.. aber raffe trotzdem ned ganz wieso es dank dem friction wert zum ease kommt. Für eine kleine Erklärung wär ich dankbar
dEX ist offline   Mit Zitat antworten
Alt 12-02-2004, 15:23   #5 (permalink)
links, gerade, letzte tür
 
Benutzerbild von KAI IX
 
Registriert seit: Oct 2001
Ort: Köln
Beiträge: 705
da kannste doch selbst drauf kommen. setz einfach mal werte für die variablen ein, nimm dir ein blatt papier und lass den kopf rauchen. oder zum verständnis vielleicht einfacher:
lass dir (speedx * friction) einfach mal austracen. du wirst sehen, dass-je näher der mc dem zielpunkt kommt-dieser wert immer kleiner wird, was das abbremsen bewirkt.

einfach mal mit den werten spielen und schauen was passiert. das bringt mehr als sich alles vorkauen zu lassen.

mfg,
kai
__________________
2addicted.de
KAI IX ist offline   Mit Zitat antworten
Alt 12-02-2004, 16:00   #6 (permalink)
dEX
getKnowledge();
 
Benutzerbild von dEX
 
Registriert seit: Feb 2002
Ort: Schweiz
Beiträge: 82
aaah.. sorry.. *hau auf den kopf* .. hab den trace eigentlich auch schon gemacht und genau das kleinerwerden des wertes gesehn.. aber leider hats ned klick gemacht. Erst jetzt wo du es mir noch einmal sagst is es klar sorry.. und danke
dEX ist offline   Mit Zitat antworten
Alt 11-02-2006, 00:49   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 111
Thumbs up

wirklich saugeiles skript! *lob* ;-)
__________________
O Genie der Herr ehre dein Ego
Beezle-Bug ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele