Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Differenza tra virgola ed and

    Avrei uno script del genere:

    onMouseDown = function() {
    basso = true;
    if (_root.canvas_mc.hitTest(_root._xmouse,_root._ymou se)) {
    var x = _root._xmouse;
    var y = _root._ymouse;
    _root.holder_mc.moveTo(x, y);

    }
    };

    Ecco, vorrei sapere...quella virgola che c'è nella parentesi tra _root._xmouse,_root._ymouse non dovrebbe essere una sorta di "and".

    E allora perchè se vado a sostituirla con and o con & lo script funziona diversamente??

    Grazie.

  2. #2
    l'and logico si scrive &&

    poi nn saprei dirti se è la stessa cosa sostituirlo con &&

    l'& è un and bit a bit

    viene utilizzato per concatenare stringhe

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Ho provato a scrivere anche && ma ha lo stesso effetti di un solo & o del semplice "and"....
    Qual'è allora la differenza, visto che il comportamento del clip filmato cambia, usando la virgola??
    Volgio dire....come si potrebbe tradurre in discorso la virgola?

    Per l'"and" se scrivo:

    if(pippo==true;and ciccio<a){
    valore=" Ciao";
    }

    potremmo tradurlo che dice: " Se pippo è uguale a vero e ciccio è minore di a, allora valore è =ciao.


    Se invece scrivo:

    if(pippo==true,ciccio<a){
    valore=" Ciao";
    }


    come devo interpretarlo visto che gli effetti sono diversi?

  4. #4
    ma la virgola nn è un and vero e proprio nn so se hai presente il significato di funzione e di parametri la virgola semplicemente separa i parametri! semplicemente la funzione moveTo è stata dikiarata in quel modo

    kessò utilizzando c++ fa + o - così

    codice:
    void moveTo(a,b){
                 istruzione1..
                       .
                       .
                   istruzione 300
    }
    la virgola separa i parametri...

    poi tu la rikiami così cm è scritta!!
    al posto di a e b ci metti x e y e passi a moveTo quei parametri!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    No...non mi sto riferendo alla virgola contenuta nel comando MoveTo.
    Quello lo so anch'io che vuole giustamente 2 parametri per sapere le coordinate x e y.
    Io mi sto riferendo alla condizione dell' hitTest che controlla le collisioni tra clip filmato.
    Se io voglio verificare che l'istanza pippo va in collisione con l'istanza caio scrivo:

    if(pippo.hitTest("_root.caio"){

    //esegui determinate azioni
    }

    Ma se io voglio che avvenga un qualcosa solo quando l'istanza pippo va sì, come prima, in collisione con caio, ma contemporaneamente anche con l'istanza " sempronio" lui mi fa scrivere:

    if(pippo.hitTest(_root.caio,_root.sempronio){

    //esegui le azioni
    }

    Ecco perchè mi sembrava logico interpretare quella cavolo di virgola come un &&.
    Ma purtroppo se al posto della virgola ci metto &&...oppure "and" oppure ancora & il filmato si comporta in modo diverso.

    Qualcuno me lo sa spiegare??

  6. #6
    si comporta in modo diverso perkè l'argomento viene valutato in modo diverso...

    anke hitTest è una funzione


    se metti la virgola li interpreta come due parametri separati

    se metti && prende la prima espressione e la seconda e il risultato sarà una terza espressione di conseguenza è come se stai dando un solo parametro ad hitTest

    se metti solo & qs fa una valutazione bit a bit tra la prima espressione e la seconda e restiruisce un unioco risultato ma sommarimanete si comporta cm && solo che il risultato dell'espressione ottenuta con & sarà diversa dall'espressione ottenuta cn &&

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Sarà..ma non riesco a trovarlo molto logico.

    Se io scrivo:

    if(pippo.hitTest("_root.caio" and "_root.sempronio")){

    //esegui azioni
    }

    mi sembra logico cosa voglia dire:

    "Se pippo tocca caio e sempronio allora fai queste azioni.....

  8. #8
    ehm se vuoi capire qlkosa ti consiglio di leggere un pò sui linguaggi a medio livello come c++ se nn proprio a basso livello sul comportamento di funzioni su come funzionano i compilatori, le grammatiche e compagnia bella

    se vuoi ti consiglio anke un libro ke io considero fantastico!

    Linguaggi di Programmazione -- Ravi Sethi -- Zanichelli

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Ho fatto anche questa prova.
    Ho creato tre clip filmato istanziati "uno" "due" "tre".
    Ad "uno" ho inserito l'azione:

    on(press){
    this._startDrag();
    }
    on(release){
    this.stopDrag();
    }
    Nel fotogramma della linea temporale ho inserito:

    onEnterFrame=function(){
    if(uno.hitTest(_root.due,_root.tre){
    _root.due._y+=5;
    _root.tre._y-=5;
    }
    }

    Non si muove niente.....a parte "uno" quando lo draggo...ma quando vado sopra agli altri 2...niente che si muove...

    E allora perchè nell'altro caso si potevano mettere 2 parametri dopo hitTest (_root._xmouse, _root._ymouse) mentre invece qui ciccia????
    Come faccio a dirgli di far muovere "due" e "tre" solo quando "uno" tocca contemporaneamente entrambi????
    Io almeno speravo nel sistema della virgola...invece nemmeno quello....
    Un po' sì ..un po' no...ma che logica è ???

  10. #10
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    In ActionScrip la virgola, in umano, esprime esattamente:

    in...
    all'interno di...
    dentro a...

    quindi è sì una suddivisione dei parametri ma la virgola stabilisce le priorità a seconda della posizione della virgola stessa, come se fosse un vero elenco della gerarchia che, in taluni casi, può riguardare l'annidamento.
    In questi ultimi casi la virgola sancisce, a tutti gli effetti, il percorso di un evento dimamico.

    Più facile di così, non mi viene

    NAP
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

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.