Poniamo di avre una cosa del genere:
Una funzione definita per un movimento non lineare, (in questo caso una movimento sull'asse x), un'altra funzione che fa l'update, e un bottone che richiama la funzione passandogli il parametro a cui si deve arrivare.Codice PHP:
function rot() {
friction = 0.15;
distanceR = (targetR-this._x)*friction;
this._x += distanceR;
}
function updateEnshu(r) {
targetR = r;
# (...) Altre cose
}
yajirushi.onEnterFrame = rot;
on (release) {
_root.updateEnshu(172);
}
Indipendentemente dalla funzione (potrei averne anche solo una, ma non è questo il problema), i parametri passati dai bottoni possono avere valori positivi e negativi...
Quindi a volte la la _x attuale è positiva e si muove verso valori negativi e a volte viceversa.
Bene, spesso, facendo un trace di questi valori assunti dalla _x ho notato che questa non sempre raggiunge il target prefissato e di conseguenza ho difficoltà a inserire nella funzione un delete.this.onEnterFrame;.
Anche perchè come dicevo non posso scrivere un if del tipo if (current._x >= target._x) perchè avendo target positivi e negativi a seconda dei casi dovrei usare >= oppure <=
Inoltre non posso nemmeno usare == perchè non sempre il valore corrente arriva esattamente al target assegnato.
che fare?![]()
![]()