Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema sfera 3D

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    87

    problema sfera 3D

    Ciao a tutti!
    Ho gia aperta una discussione su questo problema nel forum flash ma ora che ho capito che il mio problema è di ActionScript e che penso sia impossibile risolverlo diversamente provo a chiamare in mio aiuto anche questo forum.

    Provo a spiegarvi:

    Io ho provato a sviluppare la mia idea iniziale di creare una sfera di pulsanti che ruotavano,
    Questo era il sito dal quale avevo avuto l'idea.

    http://www.speakinthumbs.com/

    Provando a scervellarmi e ad investigare su come fosse possibile crearlo senza script, grazie a questo esempio di movie ho capito il contrario,

    http://flash.html.it/movie/vedi/641/cubo-3d/

    Qui è stato creato un cubo virtuale, e modificandolo, sono riuscito a farlo diventare una sfera formata da puntini.Successivamente ho modificato il simbolo "punto" , che veniva richiamato per formare la sfera, inserendo invece del semplice puntino un loghino.
    Come risultato ho una sfera di loghini che ruotano e mi va bene così.

    Tutto funziona fino a che lo lascio nel fla di partenza. Dal momento che inserisco sia i frame che lo script nel mio sito non funziona più!

    Può essere perchè nel primo fla era nel frame principale e invece adesso è all' interno di un simbolo filmato ? (che è il mio sito)

    scusate per la confusione! :berto:

    Grazie!


  2. #2
    >Ho gia aperta una discussione su questo problema nel forum flash ma ora che ho capito che il mio problema è di ActionScript e che penso sia impossibile risolverlo diversamente provo a chiamare in mio aiuto anche questo forum.


    beh stai attento non puoi aprire la stessa discussione su entrambi i forum (da regolamento e non solo x quello)......avverti il mod e fai chiudere una delle due....

    cmq per il tuo problema ...se il cod non è eccessivamente lungo postalo e vediamo di cosa si tratta....

    >Può essere perchè nel primo fla era nel frame principale e invece adesso è all' interno di un simbolo filmato ? (che è il mio sito)

    appun to dipende da comè strutturato quell'es.....
    se il cod è molto lungo abbi un pò di pazienza che appena un attimo di tempo vediamo
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    uno dei motivi del xchè nn si posta su entrambi i forum è che puoi confondere chi vuole aiutarti...infatti sono andato di la x leggere ulteriori info...
    cmq se hai fatto un file esterno e da solo funge......ed il problema quindi sorge nell'importare il file esterno nel filmato principale....significa che ci sono problemi di percorsi
    una prova veòloce che puoi fare è quella di bloccare la root del file esterno in questo modo
    metti nel primo fotogramma del file esterno ...la sfera....

    this._lockroot = true




    ps se nn funge mi sa che devi cambiare tutti i riferimenti......se lo hai caricato in un contenitore mentre se lo carichi su di un livello non dovresti avere problemi..
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    87
    Grazie per la disponibilità!

    Lo so che non si possono fare due discussioni uguali in due forum infatti le ho inpostate in due modi differenti.
    Il tutto perchè all'inizio pensavo di riuscire a sviluppare questa sfera con qualche trucco ed effetti ottici. inutile!

    Invece qua sto cercando di riuscire a capire per bene il problema avendo intrapreso la via dell' actionscript.

    Ti posto il tutto:
    Nella prima scena ho il simbolo filmato "Simbolo 7".
    all' interno di questo filmato ho il mio menu che mi rimanda con dei collegamenti ai frame successivi nei quali ho dei simboli filmato che tengono come base la mia "home" ma che cambia di aspetto come se fossero diverse pagine.

    Nel frame 74 in particolare devo fare una nuova "pagina" e quindi ho creato un simbolo filmato (centrato per bene), nel quale ho copiato i frame del mio progetto per fare la sfera di loghini.

    Questi sono i frames.

    Nel primo frame ho un simbolo con questo script:

    onClipEvent(enterFrame){
    _root.riposizionamento();

    }


    e questo è lo script del frame (tieni conto che ci sono alcune indicazioni del tipo che l'ha scritto all'inizio, che non centrano niente con la mia sfera ma che parlano del cubo iniziale) :

    //crea una matrice degli otto punti del cubo
    function creaPunti(){
    punti = new Array();
    punti[0] = {x:90,y:90,z:90};
    punti[1] = {x:-90,y:90,z:90};
    punti[2] = {x:-90,y:-90,z:90};
    punti[3] = {x:90,y:-90,z:90};
    punti[4] = {x:90,y:-90,z:-90};
    punti[5] = {x:90,y:90,z:-90};
    punti[6] = {x:-90,y:90,z:-90};
    punti[7] = {x:-90,y:-90,z:-90};
    punti[8] = {x:-30,y:-120,z:-90};
    punti[9] = {x:30,y:-120,z:-90};
    punti[10] = {x:30,y:-120,z:90};
    punti[11] = {x:-30,y:-120,z:90};
    punti[12] = {x:-30,y:120,z:-90};
    punti[13] = {x:30,y:120,z:-90};
    punti[14] = {x:30,y:120,z:90};
    punti[15] = {x:-30,y:120,z:90};
    punti[16] = {x:-30,y:-150,z:-30};
    punti[17] = {x:30,y:-150,z:-30};
    punti[18] = {x:30,y:-150,z:30};
    punti[19] = {x:-30,y:-150,z:30};
    punti[20] = {x:-30,y:150,z:-30};
    punti[21] = {x:30,y:150,z:-30};
    punti[22] = {x:30,y:150,z:30};
    punti[23] = {x:-30,y:150,z:30};
    punti[24] = {x:90,y:120,z:30};
    punti[25] = {x:-90,y:120,z:30};
    punti[26] = {x:-90,y:-120,z:30};
    punti[27] = {x:90,y:-120,z:30};
    punti[28] = {x:90,y:-120,z:-30};
    punti[29] = {x:90,y:120,z:-30};
    punti[30] = {x:-90,y:120,z:-30};
    punti[31] = {x:-90,y:-120,z:-30};
    punti[32] = {x:-120,y:30,z:-90};
    punti[33] = {x:-120,y:30,z:90};
    punti[34] = {x:-120,y:-30,z:90};
    punti[35] = {x:-120,y:-30,z:-90};
    punti[36] = {x:120,y:-30,z:-90};
    punti[37] = {x:120,y:30,z:-90};
    punti[38] = {x:120,y:30,z:90};
    punti[39] = {x:120,y:-30,z:90};
    punti[40] = {x:-150,y:-30,z:-30};
    punti[41] = {x:-150,y:30,z:-30};
    punti[42] = {x:-150,y:30,z:30};
    punti[43] = {x:-150,y:-30,z:30};
    punti[44] = {x:150,y:-30,z:-30};
    punti[45] = {x:150,y:30,z:-30};
    punti[46] = {x:150,y:30,z:30};
    punti[47] = {x:150,y:-30,z:30};
    punti[48] = {x:120,y:90,z:30};
    punti[49] = {x:120,y:-90,z:30};
    punti[50] = {x:-120,y:-90,z:30};
    punti[51] = {x:-120,y:90,z:30};
    punti[52] = {x:-120,y:90,z:-30};
    punti[53] = {x:120,y:90,z:-30};
    punti[54] = {x:120,y:-90,z:-30};
    punti[55] = {x:-120,y:-90,z:-30};
    punti[56] = {x:-30,y:-30,z:-150};
    punti[57] = {x:-30,y:30,z:-150};
    punti[58] = {x:-30,y:30,z:150};
    punti[59] = {x:-30,y:-30,z:150};
    punti[60] = {x:30,y:-30,z:-150};
    punti[61] = {x:30,y:30,z:-150};
    punti[62] = {x:30,y:30,z:150};
    punti[63] = {x:30,y:-30,z:150};
    punti[64] = {x:30,y:90,z:120};
    punti[65] = {x:30,y:-90,z:120};
    punti[66] = {x:-30,y:-90,z:120};
    punti[67] = {x:-30,y:90,z:120};
    punti[68] = {x:-30,y:90,z:-120};
    punti[69] = {x:30,y:90,z:-120};
    punti[70] = {x:30,y:-90,z:-120};
    punti[71] = {x:-30,y:-90,z:-120};
    punti[72] = {x:90,y:30,z:120};
    punti[73] = {x:90,y:-30,z:120};
    punti[74] = {x:-90,y:-30,z:120};
    punti[75] = {x:-90,y:30,z:120};
    punti[76] = {x:-90,y:30,z:-120};
    punti[77] = {x:90,y:30,z:-120};
    punti[78] = {x:90,y:-30,z:-120};
    punti[79] = {x:-90,y:-30,z:-120};

    //crea otto clip filmato per gli angoli del cubo
    for(i=0;i<punti.length;i++){
    attachMovie ("punti","punti"+i,i)
    }
    }
    //prende le coordinate 3d e le converte in una posizione su schermo
    function plotPoint(oggetto){
    //ottiene le coordinate dell'oggetto
    //le coordinate 3D sono inserite in x, y e z
    x = oggetto.x;
    y = oggetto.y;
    z = oggetto.z;
    //determina la distanza dal centro
    //viene determinata la distanza dal centro all'oggetto sul piano xy
    distCentro = Math.sqrt(x*x+y*y);
    //calcola il primo angolo
    //Math.atan converte una linea in un angolo misurato in radianti.
    if (x==0) angolo = Math.atan(1000000);
    else angolo = Math.atan(y/x);
    if (x<0) angolo += Math.PI;
    //aggiunge la rotazione
    //la quantità di rotazione è sommata all'angolo
    angolo += rotazione;
    //calcola le nuove coordinate che tengono in considerazione che l'angolo è cambiato
    realex = distCentro*Math.cos(angolo);
    realez = distCentro*Math.sin(angolo);
    realey = z;
    //determina la nuova distanza dal centro all'oggetto sul piano yz
    distCentro = Math.sqrt(realey*realey+realez*realez);
    //calcola il secondo angolo
    //viene determinato l'angolo sul piano yz
    if (realez == 0) angolo = Math.atan(1000000);
    else angolo = Math.atan(realey/realez);
    if (realez<0) angolo += Math.PI;
    //aggiunge l'angolo del piano
    //l'inclinazione del piano è sonmmata all'angolo
    angolo += piano;
    //calcola le coordinate sullo schermo
    //sono calcolate le coordinate nuove che tengono in considerazione l'inclinazione
    schermox = realex;
    schermoy = distCentro*Math.sin(angolo);
    schermoz = distCentro*Math.cos(angolo);
    //centra l'oggetto sullo schermo
    //le nuove coordinate presumono che 0,0 sia il centro dello schermo.
    //Quindi, il reale centro dello schermo(275,200) viene sommato a tali coordinate per correggerle
    schermox += 180;
    schermoy += 300;
    //restituisce l'oggetto
    return({x:schermox,y:schermoy,z:schermoz});
    }
    //esegue un cliclo tra i punti e imposta gli angoli del cubo
    function disegnaPunti(){
    for(i=0;i<punti.length;i++){
    loc = plotPoint(punti[i]);
    this["punti"+i]._x = loc.x;
    this["punti"+i]._y = loc.y;
    this["punti"+i]._alpha = loc.z+150;
    }
    }
    //riposiziona il cubo a ogni fotogramma
    function riposizionamento(){
    rotazione += (180-_xmouse)/1000;
    piano = -(300-_ymouse)/100;
    disegnaPunti();
    disegnaLinee();
    }

    //esegue la chiamata alle funzioni iniziali e interrompe la piproduzione su questo fotogramma
    rotazione = 0;
    creaPunti();
    creaLinee();
    stop();

    Ovviamente nella libreria ho il mio simbolo grafico chiamato "punto" che è il loghino che andrà a formare la mia sfera di loghini.

    Spero di essere stato abbastanza capibile.

    Grazie mille!


  5. #5
    hai provato con il lockroot?

    se invece di caricare in un clip come suppongo che tu faccia...prova a caricare questo file esterno su di un livello vedrai che risolvi...

    il problema che hai risiede nei percorsi sbagliati in quanto vedo nel codice alcuni riferimenti alla root..quindi che succede
    se ad es carichi un file sterno un clip cjiamato contenitore e nel file esterno ci sono rifermineti tipo
    _root.istanzaclip.azione

    questo percorso nn vale + in quanto il filmato adesso sta nel clip contenitore quindi diventerebbe

    _root.contenitore .istanzaclip.azione


    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    87
    No sinceramente non è che l'ho caricato.

    Ho semplicemente copiato il mio frame all'interno del mio clip filmato con script e tutto.
    Ma non funziona. invece se lo copio all'inizio del sito fuori dal clip filmato funziona benissimo.

    Sinceramente non conosco bene il comando che mi hai suggerito ma provo a darci un'occhiata.

    Secondo te, se invece lo caricassi come swf esterno potrebe essere un'altra soluzione?
    Poi però la "sfera" mi seguirebbe ancora il mouse o sarebbe solamente un filmato?

    Grazie!


  7. #7
    se dici che da solo funge ...ti basta caricarlo come file esterno su di un livello ed il gioco è fatto...
    con loadMovieNum("tuofilmato.swf",1)

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    87
    Ho provato a fare sia come dici tu con:

    on (release) {
    loadMovieNum("tuofilmato.swf",1)
    }

    sia caricandolo su "re" che è un clip filmato con:

    on (release) {
    loadMovie("filmato.swf", "re");
    }

    ma niente da fare si carica ma non si vede e non funziona la mia sfera.

    Ho voluto provare anche portando il mio frame con il mio script per la sfera in un'altra Scena nello stesso fla e caricare con il mio pulsante nella prima scena la seconda scena ma non so perchè non riesco a farcelo arrivare.

    Cavolo oggi non ci siamo proprio! :rollo:

    Ascolta un' attimo però quest'ultima cosa non mi torna proprio!
    Forse è una mia lacuna!

    Se io ho una Scena con un clip filmato e all'interno di questo clip ho dei pulsanti, per andare in un'altra scena ( "Scena 2" ) il comando è questo:

    on (release) {
    gotoAndPlay("Scena 2", 1);
    }

    Giusto?


  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    87
    Ce l'ho fatta!!!!

    Grazie mille ho provato ad inserire nel primo frame dell'esterno:

    this._lockroot = true

    E funziona!
    Grazie mille!

    A presto




  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    [Moderazione] La prossima volta evita di aprire un thread in due stanze, hai delle risposte sia in una che nell'altra e non è rispettoso nei confronti di chi ti aiuta, visto che magari mentre tu stai risolvendo qui, di là c'è qualcuno che sta smanettando per darti una risposta senza sapere che hai già fatto.

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.