Autor Zpráva
herys
Profil *
Zdravím mám objekt krabice, a po najetí myši chci aby se posunul, a po oddělání myši aby se vrátil zpátky. Je to možné. tady je zakladní script

onClipEvent (mouseMove) {
if (hitTest(_root._xmouse, _root._ymouse)) {
setProperty(_root.krabice, _x,-30);
}
}


no a jeste by mne zajímalo jestli to jde udělat tak, že by se ta krabice posouvala pomalu(plynule), např nějak movieclipem nebo tak nějak. Nevíte??

děkuji
flz
Profil
hitTest je nevhodny pre takuto vec, daj na ten MC takyto skript
on (rollOver) {

var xDelta:Number = 0;
onEnterFrame = function () {
if (xDelta == 30) {
delete onEnterFrame;
} else {
this._x += 3;
xDelta += 3;
}
};
}
on (rollOut) {
delete onEnterFrame;
onEnterFrame = function () {
if (xDelta == 0) {
delete onEnterFrame;
} else {
this._x -= 3;
xDelta -= 3;
}
};
}
pisal som to na slepo, takze to mozno nebude 100% fungovat

edit: tak som ten kod vylepsil, ale aj tak ma svoje muchy :D
herys
Profil *
moc dik, neco takovyho sem potreboval, ale kdybyste mel cas, slo by to jeste udelat tak, ze bych pres to prejel mysi a ono se to uz o tech 30 px posunulo samo a za treba 3 vteriny se to vratilo?? dekuju
Zephy
Profil
Mno, a nechtel jsi herysi spis tohle?

Zase kod na krabici(movie clipu):

onClipEvent(load) {
var bBylPosun = false;
var nOkolik = 130;
}

onClipEvent (enterFrame) {
if (bBylPosun==false and hitTest( _root._xmouse , _root._ymouse,true)==true ){
this._x += nOkolik;
bBylPosun = true;
}
else if (bBylPosun==true and hitTest(_root._xmouse +nOkolik, _root._ymouse,true)==false ){
this._x -= nOkolik;
bBylPosun = false;
}
}


V podstate kdyz se mysi najede na krabici tak krabice utece a kdy se mys posune pryc z mista kam se ma vratit, tak se krabice vrati na puvodni misto :-)))
Mel jsem velkou scenu tak sem si posun ze 30 zvysil na 130. Ale staci si upravit "nOkolik" dle potreby.

Animovat posun by slo samozrejme taky. Kdyby se udelali dve animace, jedna napr. od framu 11-19 a v ni by byl posun krabice doprava, 20 frame "stop();" a od framu 21-30 by byl posun krabice na puvodni misto.
Na framu 1 by se dal prikaz "stop();" a kod na krabici by se zmenil z "this._x += nOkolik;" na "gotoAndPlay(11);" a misto "this._x -= nOkolik;" by se dalo "gotoAndPlay(21);"
Toto téma je uzamčeno. Odpověď nelze zaslat.

0