Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27

Discussione: if...else

  1. #1

    if...else

    hola! ho questo script che funziona correttamente senza else, quando aggiungo
    else {
    this._x = 270;
    this._y = 316;
    }

    lui è come se riconoscesse solo il comando dato dall'else.
    Perchè?





    onClipEvent (mouseUp) {
    if (dragging) {
    stopDrag();
    X = this._x;
    Y = this._y;
    for (i = 1; i <= 9; i ++) {
    if (this.bersaglio.hitTest(eval("_root.nidoBase" + i))) {
    this._x = _root["nidoBase" + i]._x;
    this._y = _root["nidoBase" + i]._y;
    } else {
    this._x = 270;
    this._y = 316;
    }
    dragging = 0;
    }
    }
    }
    onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse)) {
    dragging = 1;
    startDrag(this);
    }
    }
    bye bye baby...

  2. #2
    perchè:


    X = this._x; // qui assegni x
    Y = this._y; // qui assegni y
    for (i = 1; i <= 9; i ++) {
    if (this.bersaglio.hitTest(eval("_root.nidoBase" + i))) {
    this._x = _root["nidoBase" + i]._x; // qui riassegni x
    this._y = _root["nidoBase" + i]._y; // qui riassegni y
    } else {
    this._x = 270; //qui ririassegni x
    this._y = 316; //qui ririassegni y
    in pratica di default this._x = 270 e this._y = 316 ovvero
    di default

    x = 270 e y = 316



    :quote:
    se questo non ti crea scompenso allora non ho capito qual'è il tuo problema
    -Raia Riccardo-
    Un forumello gnocco
    La vita è strana per questo bella

    non ero moderatore quando zork era un alcolizzato

  3. #3
    non ho capito cosa mi hai detto.

    in pratica senza "else" quando rilascio il mouse l'oggetto rimane dov'è se non colpisce uno dei "nidi". io vorrei che tornasse nella posizione iniziale, ma se metto "else" l'oggetto ignora il fatto di aver colpito un "nido" e va alle coordinate che gli assegno.

    soluzione?
    bye bye baby...

  4. #4
    il problema suppongo che nasca nel momento in cui carichi il clip, infatti la consizione "else" si veifica immediatamente e quindi non hai il tempo di colpire l'oggetto....

    giusto??
    -Raia Riccardo-
    Un forumello gnocco
    La vita è strana per questo bella

    non ero moderatore quando zork era un alcolizzato

  5. #5
    esatto, ma l'oggetto riesco a trascinarlo fino al nido, solo che da lì si aggancia alle coordinate di else ignorando il fatto di trovarsi sul nido quindi non agganciandosi al suo centro.
    bye bye baby...

  6. #6
    non hai capito qualcosa di quello che ho chiesto?
    bye bye baby...

  7. #7
    AIUUUUUUUUUUUUTOOOOOOOOOOOOOOOOO
    bye bye baby...

  8. #8
    credo che con questo script non andrai lontano....nel senso:
    come lo hai impostato tu flash sempre elaborerà la clausola "else" in quanto si aspetta che tu sia su tutti e 9 i movie clip contemporaneamente al rilascio del mouse (cosa che non avverrà mai...a meno che tu non faccia un uovo grande come lo schermo)

    le cose sono due :

    o cambi soluzione o imposti uno script che li controlli uno ad uno

    tipo:

    onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse,true)) {
    startDrag(this,true);
    dragging = 1;

    }
    }
    onClipEvent (mouseUp) {
    if (dragging) {
    stopDrag();
    if (this.bersaglio.hitTest(_root.nidobase1)) {

    _x = _root.nidobase1._x;
    _y = _root.nidobase1._y;

    }else if(this.bersaglio.hitTest(_root.nidobase2)){

    _x=_root.nidobase2._x;
    _y=_root.nidobase2._y;
    //così via per tutti e nove i clip.....
    }else {
    _x = 270;
    _y = 316;

    }
    dragging = 0;
    }

    }

    p.s.

    non sono un mago del pc quindi qualcuno più bravo di me troverà sicuramente un modo più veloce per sistemarti il codice...il mio è un modo

    :sexpulp: :sexpulp:
    conosco poco di programmazione, equel poco ...lo uso pure malee

  9. #9
    grazie caro, ora lo faccio.
    mi spieghi intanto un paio di cosette... se io al posto delle coordinate di else voglio che l'oggetto torni nella posizione da cui ho cominciato a draggarlo cosa devo scrivere?

    e poi... cosa significa operativamente dragging=1 e dragging=0 ? io li metto perchè so che ci vanno ma ignoro il motivo.

    grazie amico:gren: :gren:
    bye bye baby...

  10. #10
    se mi fai questi sorrisi come posso non rispondere!!:sexpulp:

    allora dragging è una variabile che tu imposti su true(1) o su false(0)

    ti serve perfare un controllo infatti tu scrivi:

    if(dragging){//cioè se la variabile dragging è impostata su true(1)e cioè ancora: se sto trascinando l'oggetto....

    mentre se l'oggetto non è trascinato tutto quello contenuto nello script che segue la condizione non sarebbe elaborato da flash

    per quanto riguarda le impostazioni iniziali :

    on Clip event(load){
    x=_x;
    y=_y ;
    }
    e iserisci per esempio in "else"

    }else{
    this._x= x;
    this._y= y;//che sono le coordinate che hai all'inizio
    }
    conosco poco di programmazione, equel poco ...lo uso pure malee

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.