Visualizzazione dei risultati da 1 a 9 su 9

Discussione: rotazione elemento 3D

  1. #1

    rotazione elemento 3D

    salve a tutti,
    mettiamo che abbia dei bottoni e che ad ogni pressione del mouse sui bottoni provochino una rotazione differente per ogni btn, di un elemento 3d presente sulla _root, però la rotazione deve partire sempre tenendo conto della posizione attuale, non quella iniziale.

    Per semplificare mettiamo che btn_1 faccia vedere la facciata_a dell'elemento, btn_2 la facc_b e così via e che se clicco su btn_1 di conseguenza vedo facc_a, successivamente se clicco su btn_2 vedo la facc_b e il movimento parte dalla facc_a.

    sapreste indicarmi uno script per questo?

    Grazie
    Il cielo è infinito come le nostre possibilità

    Cerchi un sito professionale?

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    considerando che il movimento sarà sempre lo stesso, ossia una rotazione (credo su se stesso) dell'oggetto, tu non dovrai far altro che dire ai pulsanti di muovere avanti o indietro il clip contenente l'animazione, è chiaro il concetto?

  3. #3
    esattamente

    hai qualche soluzione?
    Il cielo è infinito come le nostre possibilità

    Cerchi un sito professionale?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    si, però ora non riesco, domani ti scrivo la procedura e il codice

  5. #5
    Utente di HTML.it L'avatar di arn
    Registrato dal
    Jun 2002
    Messaggi
    420
    //sul MC:
    onClipEvent (load) {
    _root.direzione = false;
    }
    onClipEvent (enterFrame) {
    if (_root.direzione == true) {
    if (_currentframe == 1) {
    this.gotoAndStop(38);
    } else {
    this.gotoAndStop(_currentframe-1);
    }
    }
    }

    //sul bottone(ho impostato un btn trasparente con rollover):
    on (rollOver) {
    _root.direzione = true;
    }
    on (rollOut) {
    _root.direzione = false;
    logo.play();
    }

    //dove logo è il nome assegnato al MC
    La rapidità che è una virtù, genera un vizio che è la fretta !
    -------------------------
    Browser: Opera & Firefox

  6. #6
    Utente di HTML.it L'avatar di arn
    Registrato dal
    Jun 2002
    Messaggi
    420
    dove
    this.gotoAndStop(38)
    38 indica l'utimo frame del mio MC !!!
    La rapidità che è una virtù, genera un vizio che è la fretta !
    -------------------------
    Browser: Opera & Firefox

  7. #7
    /sul MC:
    onClipEvent (load) {
    _root.direzione = false;
    }
    onClipEvent (enterFrame) {
    if (_root.direzione == true) {
    if (_currentframe == 1) {
    this.gotoAndStop(38);
    } else {
    this.gotoAndStop(_currentframe-1);
    }
    }
    }

    //sul bottone(ho impostato un btn trasparente con rollover):
    on (rollOver) {
    _root.direzione = true;
    }
    on (rollOut) {
    _root.direzione = false;
    logo.play();
    }

    //dove logo è il nome assegnato al MC
    scusami, ma sono alle prime armi con AS, ma mi sembra di capire che con questo script, il bottone indichi semplicemente a logo_mc di andare al frame (38), ma se io avessi un secondo bottone che indichi a logo_mc di andare al frame (30)? e che parta dal frame (38) se io ho prima selezionato il primo btn?

    Grazie
    Il cielo è infinito come le nostre possibilità

    Cerchi un sito professionale?

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    allora, mettiamo che tu abbia un clip "myClip" che contiene l'animazione della rotazione, costituito da 150 fotogrammi,

    quello che dovremmo assegnare ai nostri tasti è una funzione che legga dove si trova in quel preciso momento il clip e che si muova avanti o indietro a seconda di quello che deve raggiungere

    codice:
    function Movim(clip, arrivo){
    	currframe = clip._currentframe;
    	clip.onEnterFrame = function(){
    		if (currframe < arrivo && clip._currentframe!= arrivo){
    			clip.nextFrame();
    		} else if (currframe > arrivo && clip._currentframe!= arrivo){
    			clip.prevFrame();
    		} else {
    			this.onEnterFrame = undefined;
    		}
    	}
    }
    
    puls1.onRelease = function(){
    	Movim(_root.myClip, 0);
    }
    puls2.onRelease = function(){
    	Movim(_root.myClip, 50);
    }
    puls3.onRelease = function(){
    	Movim(_root.myClip, 100);
    }
    puls4.onRelease = function(){
    	Movim(_root.myClip, 150);
    }
    l'ho scritto di getto, senza provarlo (anche perchè qui non posso, son senza flash), è probabile che ci siano degli errori, lo devi provare....facci sapere ;-)

  9. #9
    PERFETTO funziona benisssssimo.

    grazie
    Il cielo è infinito come le nostre possibilità

    Cerchi un sito professionale?

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.