Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 48

Discussione: spostare mc

  1. #11
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    ok ok, quando hai tempo
    JayMare

  2. #12
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    if (this.hitTest(_root._xmouse, _root._ymouse)) ...inutile dire che questa parte di codice c'e* anche se mi sono dimenticato di postarla nel forum.
    JayMare

  3. #13
    eccomi...
    allora secondo me se ho capito cosa ti serve...userei:

    codice:
    onClipEvent (load) {
    	finex = _x;
    	finey = _y;
    	accellerazione = 3;
    	inerzia = 2.5;
    }
    onClipEvent (enterFrame) {
    	iniziox = _x;
    	inizioy = _y;
    	spostamentoy = (spostamentoy+(finey-inizioy)/accellerazione)/inerzia;
    	_y += spostamentoy;
    	spostamentox = (spostamentox+(finex-iniziox)/accellerazione)/inerzia;
    	_x += spostamentox;
    }
    poi ai pulsanti dai ogni volta la posizione ke vuoi
    dai un nome istanza al mc tipo pippo
    e poi ai pulsanti kambi coordiante
    _root.pippo.finex = 100;
    _root.pippo.finey = 150;



    PS= anke oggi sarò poko presente

  4. #14
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    ma prima di dare un action ai mc C1 C2... devo controllare dove si trova il mc B, se si trova in centro devo dire a C1 C2... di mandarlo a destra, se si trova a destra devo dire a C1 C2 di mandarlo a sinistra. Inoltre i mc C1 C2... sono all'interno del mc B.


    Ma tutte quelle actions sono per i mc C ? così:?

    onClipEvent (load) {
    finex = _x;
    finey = _y;
    accellerazione = 3;
    inerzia = 2.5;
    }
    onClipEvent (enterFrame) {
    iniziox = _x;
    inizioy = _y;
    spostamentoy = (spostamentoy+(finey-inizioy)/accellerazione)/inerzia;
    _y += spostamentoy;
    spostamentox = (spostamentox+(finex-iniziox)/accellerazione)/inerzia;
    _x += spostamentox;
    }
    onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse)) {
    _root.A.B.finex = 146.8;
    _root.A.B.finey = 229.25;
    }
    }
    JayMare

  5. #15
    fai un controllo delle coordinate con un if

    a dopo

  6. #16
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    cio' provato ma non funzia, guarda cosa ho fatto:

    Premetto che i mc C1 C2 C3 sono nel mc B che a sua volta e' nel mc A.

    1. Nel primo frame del mc A, B si sposta da destra al centro come mi hai detto di fare ed e' OK :

    onClipEvent (load) {
    _x = 146.8;
    _y = -229.25;
    lanciox = 0;
    lancioy = -160;
    }
    onClipEvent (enterFrame) {
    differenzax = _x-lanciox;
    differenzay = _y-lancioy;
    _x = _x-differenzax/5;
    _y = _y-differenzay/5;
    }

    + gli do uno stop così si ferma al primo frame

    2. Nel mc B do queste actions ai mc C1 C2 e C3 (Queste actions dovrebbero controllare il movimento di B, ovvero mandarlo dal centro a destra o da destra al centro a seconda di dove si trova):

    onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse)){
    if (_root.A.B._x == 146.8 && _root.A.B._y == -229.25) //se quindi B si trova a destra {
    _x = 146.8;
    _y = -229.25;
    lanciox = 0;
    lancioy = -160;
    differenzax = _x-lanciox;
    differenzay = _y-lancioy;
    _root.A.B._x = _x-differenzax/5;
    _root.A.B._y = _y-differenzay/5;
    } else //se B si trova a alcentro{
    _x = 0;
    _y = -160;
    lanciox = 146.8;
    lancioy = -229.25;
    differenzax = _x-lanciox;
    differenzay = _y-lancioy;
    _root.A.B._x = _x-differenzax/5;
    _root.A.B._y = _y-differenzay/5;
    }
    }
    }


    ...ma non funge, dove sbaglio?
    JayMare

  7. #17
    non devi riscrivere tutte le azioni !
    lo script ke ti ho dato va solo sui mc ke devono muoversi e basta !

    al controllo dici solo
    if(al centro){
    _root.mc.finex=2112;
    _root.mc.finey=554;
    }else{
    _root.mc.finex=100;
    _root.mc.finey=100;
    }

    senza ripetere tutto lo script

    poi metti nel onClipEvent (enterFrame) un trace(_root.tuomc._x)
    kosì kontrolli dov'è

  8. #18
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    credo di avere capito, pero' il mc e' in un solo frame ed ha gia' questa action (che lo fa entrare all'inizio):

    onClipEvent (load) {
    _x = 146.8;
    _y = -229.25;
    lanciox = 0;
    lancioy = -160;
    }
    onClipEvent (enterFrame) {
    differenzax = _x-lanciox;
    differenzay = _y-lancioy;
    _x = _x-differenzax/5;
    _y = _y-differenzay/5;
    }

    questa action quindi...

    onClipEvent (load) {
    finex = _x;
    finey = _y;
    accellerazione = 3;
    inerzia = 2.5;
    }
    onClipEvent (enterFrame) {
    iniziox = _x;
    inizioy = _y;
    spostamentoy = (spostamentoy+(finey-inizioy)/accellerazione)/inerzia;
    _y += spostamentoy;
    spostamentox = (spostamentox+(finex-iniziox)/accellerazione)/inerzia;
    _x += spostamentox;
    }

    dovrei metterla su un altro frame ma e' impossibile sapere quanto tempo ci mette a posizionarsi con la prima action. Forse e' meglio sostituire la prima action con una semplice interpolazione alla fine della quale do al mc la seconda action.

    Forse non e' molto chiaro il problema!?
    JayMare

  9. #19
    esatto, non kapisko kosa dici, ma non farci kaso mi kapita spesso

    togli la prima action, ti ho postato la seconda perkè la prima non era il massimo per quello ke volevi.
    mi dici, kome si fa a far spostare un oggetto...e te lo diko....poi mi aggiungi ke questo oggetto deve ballare per tutto lo skermo a determinate kondizioni, allora ti do un secondo script ke fa + al caso tuo, kiaro ke il primo non è + valido, quindi devi sostituirlo kon il secondo, e poi il concetto e kiaro..ovunque sei, basta fare riferimento al percorso del tuo mc ballerino e dirgli ke la sua finex e la sua finey (quando okkorre), sono cambiati, e lui (avendo l'evento on enterFrame ), kabierà la sua posizione.

  10. #20
    per esempio se il centro del tuo stage è a coordinate x 200 klikki il pulsante ke dice al tuo mc _root.mc.finex=200; e lui ci va, se dallo stesso pulsante vuoi farlo uscire quando è arrivato al centro...metti un if(_root.mc._x==200){
    _root.mc.finex = 1000;
    }

    insomma se deve fare delle kose solo dopo averne fatte altre prima devi fargli kontrollare ke la kosa l'abbia fatta prima di fare la seconda o la terza.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.