Autor Zpráva
Shooter
Profil
Ahoj,
chci udelat pohyb pomoci actionu, je mi jasny ze si napisu funkci ktera bude(treba pres setProperty() ) posunovat objekt.Ale napadlo me ze kdyz budu furt psat:
setProperty(objekt, _y, 10);
setProperty(objekt, _y, 20);
setProperty(objekt, _y, 30);
setProperty(objekt, _y, 40);
setProperty(objekt, _y, 50);
.
.
.
(myslim samozrejme pres funkci ktera by opakovala prikaz a zvetsovala by cislo)
tak to dopane tak ze spustim animaci a ono se to na 50px posune tak rychle ze to nebude videt(ten presun).Jak to mam udelat aby ten posun byl videt.
PS: rad bych to v jednom snimku.
Dik moc za pomoc
Boy
Profil
Co třeba tento script?:
var koncova_souradnice:Number = 50;

var rychlost:Number = 2;
onEnterFrame = function() {
if (objekt_mc._y <= koncova_souradnice) {
objekt_mc._y += rychlost;
} else {
delete(this.onEnterFrame);
}
}

Ještě ti ho vysvětlím. onEnterFrame = function() {} znamená, že na každém snímku (onEnterFrame) se budou vykonávat příkazy v dané funkci. Tedy pokud není souřadnice objektu větší než koncova_souradnice, tak se každý snímek posune o rychlost (2 pixely). Pokud objekt dosáhne požadované souřadnice, tak se funkce přestane vykonávat (delete(this.onEnterFrame)).
Shooter
Profil
OK, dik moc, nevi jeste nekdo jak udelat na konci zpomalovani?
Shooter
Profil
Jo jasny, zmenim rychlost, ja sem idiot.
Boy
Profil
Kdybys měl ke konci pořád měnit rychlost, tak by jsi se z toho pomátl. stačí ten script jednoduše upravit:
var koncova_souradnice:Number = 100;

var rychlost:Number = 10;
onEnterFrame = function() {
if (objekt_mc._y <= koncova_souradnice) {
objekt_mc._y += (koncova_souradnice-objekt_mc._y)/rychlost;
} else {
delete(this.onEnterFrame);
}
}

Vytvoří se tím pěkný zpomalovaný dojezd. Můžeš taky ale využít třídu Tween, ale myslíš, že toto ti bude stačit.
Toto téma je uzamčeno. Odpověď nelze zaslat.