Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Questione di sintassi...

    Ciao, vorrei che un pulsante svolgesse una funzione se ci sono alcune condizioni ed un altra se ci sono altre condizioni.
    Credo che sia meglio fare un esempio, ecco il codice che non funziona:

    on (release) {
    this.onEnterFrame=function () {
    if(_parent.pippo._y==130 | _parent.pippo._x==300){
    _parent.pippo.funzione(300,260,0,100,100,100,3);
    }
    if(_parent.pippo._y==260 | _parent.pippo._x==300){
    _parent.pippo.funzione(300,130,0,100,100,100,3);
    }
    }
    }

    praticamente se "pippo" è a y260 cliccando lo porta a y130 mentre se è a y130 lo porta a y260.

    Grazie
    www.d2studio.it

  2. #2
    scusa non capisco il senso di onEnterFrame....

    poi se utilizzi | significa or e quindi, probabilmente se pippo si trova sempre ad x 300 entrambe saranno verificate

    prova così

    on (release) {
    if( (_parent.pippo._y==130) & ( _parent.pippo._x==300) ){
    _parent.pippo.funzione(300,260,0,100,100,100,3);
    }
    else if( (_parent.pippo._y==260) & (_parent.pippo._x==300) ){
    _parent.pippo.funzione(300,130,0,100,100,100,3);
    }
    }
    }

    utilizzando else if fai un controllo in meno, infatti se la prima if è vera allora la seconda non verrà valutata...


  3. #3
    Utente di HTML.it L'avatar di §elva
    Registrato dal
    Nov 2006
    Messaggi
    607
    se utilizzi "&" esegui un controllo and bit a bit..
    per eseguire un and logico utilizzi "&&"..

    da sempre l'ignoranza fa paura, ma il silenzio è uguale a morte

  4. #4
    vero!! scusate

    tra php, javascript e actionscript mi confondo sempre...

  5. #5
    Vi ringrazio per la soluzione...
    www.d2studio.it

  6. #6
    Il problema continua...
    praticamente la prima volta che clicco "pippo" scende, la seconda sale e poi...non funziona più...secondo me la funzione non riporta "pippo" alle coordinate che imposto io...però ho provato anche mettendo <= o >= ma niente...da cosa puo' dipendere?
    www.d2studio.it

  7. #7

    Re: Questione di sintassi...

    posta il codice di "funzione" magari il problema è là

    cmq se il controllo è solo tra 2 valori della y allora ti conviene mettere un controllo + "elastico" mi spiego meglio:

    casomai invece di
    if _parent.pippo._y==130
    if _parent.pippo._y==260

    imposti se è maggiore o minore della metà della distanza
    cioè
    260-130=130
    130/2=65

    quindi metti
    if _parent.pippo._y>130+65 -> pippo è posto sicuramente alla posizione che tu intendi come 260
    if _parent.pippo._y<260-65 -> pippo è posto sicuramente alla posizione che tu intendi come 130

    come controllo non è il massimo (si potrebbe parametrizzare rendendolo + modificabile) ma se non puoi daci altre indicazioni su "funzione" non si può verificare se funziona correttamente...magari la tua "funzione" non posiziona pippo ESATTAMENTE dove vuoi tu ma poco prima o poco dopo, con un controllo così ampio non dovresti avere problemi...tranne se pippo._y=195

    se posti "funzione" forse si può trovare una soluzione vera e nn un modo per eludere i problemi
    ...Ignorance is bliss...

  8. #8
    scusa ma il problema è soltanto che il movieclip deve stare alla posizione 130 o alla 260 perchè richiamare una funziona che la sposta, basta soltanto:


    on (release) {
    if( (_parent.pippo._y==130) & ( _parent.pippo._x==300) ){
    _parent.pippo._y=260;
    }
    else if( (_parent.pippo._y==260) & (_parent.pippo._x==300) ){
    _parent.pippo._y=130;
    }
    }
    }


  9. #9
    vabbè a parte la doppia & ma passi...il codice che ha postato danilodolci richiama una funzione che suppongo gestisca lo spostamento graduale sia in termini di x y che in termini di alpha, xscale e yscale (lo deduco dagli argomenti della funzione) il semplice script

    if( (_parent.pippo._y==130) & &( _parent.pippo._x==300) ){
    _parent.pippo._y=260;
    }

    sposterebbe pippo direttamente da una posizione ad un'altra...l'effetto risulterebbe molto rozzo, non trovi?
    ...Ignorance is bliss...

  10. #10
    Infatti e' come dice seafarer, io voglio che la clip si sposti gradualmente e non di scatto...comunque la funzione per far muovere la clip e' questa...spero vi possa essere utile per risolvere il problema...

    MovieClip.prototype.funzione= function (x,y,a,sx,sy,fade,steps) {
    this.onEnterFrame=function () {
    this._xstep=(Number(x)-this._x)/Number(steps);
    this._ystep=(Number(y)-this._y)/Number(steps);
    this._rot=(Number(a)-this._rotation)/Number(steps);
    this._xsca=(Number(sx)-this._xscale)/Number(steps);
    this._ysca=(Number(sy)-this._yscale)/Number(steps);
    this._clipfade=(Number(fade)-this._alpha)/Number(steps);
    this._steps=steps;
    if (this._steps) {
    this._rotation+=this._rot;
    this._alpha+=this._clipfade;
    this._x+=this._xstep;
    this._y+=this._ystep;
    this._xscale+=this._xsca;
    this._yscale+=this._ysca;
    this._steps--;
    }
    else {
    delete this._xstep;
    delete this._ystep;
    delete this._xsca;
    delete this._ysca;
    delete this._steps;
    this.onEnterFrame=function () {}
    }
    }
    }
    www.d2studio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.