Autor | Zpráva | ||
---|---|---|---|
Vlky Profil |
#1 · Zasláno: 7. 10. 2005, 04:12:39
Zdravím,
měl bych na vás jednu prosbu. Začínám se (s velkou chutí) učit action script. A to ( asi jako hodně začátečníků) formou turotiálů atd. Ale k věci. Pomocí scriptování chci rozpohybovat (např. čtverec) tak, aby se pohyboval z bodu A do bodu B - z bodu B do bodu C - z bodu C do bodu D a z bodu D do bodu A - a to vše znovu. Není ani tolik problém, že bych nevěděl, jak to udělat (tutoriál), ale nechápu určitou část skriptu. Do prvního snímku movie clipu (např. "Čtverec") jsem definoval tento kód : c1 = 0 c2 = 1 souradniceX = [500,20,400,700] souradniceY = [20,400,300,450] startX = souradniceX[c1] startY = souradniceY[c1] endX = souradniceX[c2] endY = souradniceY[c2] koef = 80 speedX = (endX - startX)/koef speedY = (endY - startY)/koef this._x = startX this._y = startY c1++ if (c1 == 3) { c2 = 0 } if (c1 < 3) { c2 = c1 + 1 } if (c1 >3) { c1 = 0 c2 = 1 } play() do druhého snímku : (a tady je problém - jedná se "pouze" o to, že nechápu význam absolutní hodnoty v této souvislosti - byl bych vám velice vděčný, kdyby jste mi mohli popsat (prosím do detailů - pro naprostého začátečníka) princip této absoutní hodnoty) if (Math.abs(endX - this._x) <= Math.abs(speedX) || Math.abs(endY - this._y) <= Math.abs(speedY)) { this._x = endX this._y = endY gotoAndPlay(1) } else { this._x += speedX this._y += speedY play() } a do třetího snímku : if (Math.abs(endX - this._x) <= Math.abs(speedX) || Math.abs(endY - this._y) <= Math.abs(speedY)) { this._x = endX this._y = endY gotoAndPlay(1) } else { this._x += speedX this._y += speedY gotoAndPlay(2) } Děkuji předem za odpověď. P.S. : Jsem velice rád, že existuje takto kvalitní fórum. Velice děkuji. |
||
PerToon Profil |
#2 · Zasláno: 7. 10. 2005, 07:28:46
Pořádně nevím o co se jedná, ale odčítá to od sebe dvě x-ový souřadnice. Takže můžou nastat dvě změny. endX bude víc vlevo než this.x, nebo víc vpravo. A pokud bude víc vlevo, tak by ti tenhle rozdíl vzdáleností vyšel záporný. Stejně tak absolutní hodnota speedX je dána tím, že ji počítáš jako rozdíl dvou x-ových pozic a zase by mohla vyjít záporně. A záporné vzdálenosti nebo rychlosti jsou většinou nesmysl.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0