• User Attivo

    sito a schermo intero

    ciao a tutti e soprattutto a flash che forse risponderà a questo topic..
    ho un dubbio..., se devo fare un sito dove per esempio ho delle linee che dal lato destro dello shermo entrano in scena come posso fare per evitare che entrino sempre dal nulla anche su risoluzioni molto alte?
    mi spiego meglio...
    se delimito il mio sito in un rettangolo o quadrato con cornice che è il mio stage di grandezza per esempio 600x600 pixel, posso creare una linea che dalla cornice entra in scena nel mio filmato..., se invece non inserisco la cornice la mia linea entra in scena dal null e l'effetto non è bellissimo..
    come posso fare per esempio che entri in scena dal lato destro del monitor senza che si veda che c'è una limitazione dello stage?
    devo crearmi uno stage grandissimo o c'è un altro modo?
    spero di essere stato chiaro anche se nn è molto semplice da spiegare..

    grazie mille ciao


  • User Attivo

    ciao a tutti e soprattutto a flash che forse risponderà a questo topic..
    ho un dubbio..., se devo fare un sito dove per esempio ho delle linee che dal lato destro dello shermo entrano in scena come posso fare per evitare che entrino sempre dal nulla anche su risoluzioni molto alte?
    mi spiego meglio...
    se delimito il mio sito in un rettangolo o quadrato con cornice che è il mio stage di grandezza per esempio 600x600 pixel, posso creare una linea che dalla cornice entra in scena nel mio filmato..., se invece non inserisco la cornice la mia linea entra in scena dal null e l'effetto non è bellissimo..
    come posso fare per esempio che entri in scena dal lato destro del monitor senza che si veda che c'è una limitazione dello stage?
    devo crearmi uno stage grandissimo o c'è un altro modo?
    spero di essere stato chiaro anche se nn è molto semplice da spiegare..

    grazie mille ciao


  • Super User

    Ci potrebbero essere diversi modi.
    Quello che mi viene in mente adesso è fai entrare la tua linea con un fade In di alpha.
    In più se utilizzi un movimento inerziale la cosa diventa professional 😉
    Movimento inerziale:
    esempio di una clip che si sposta da _x 0 a _x 400 con un fadeIn di alpha

    
    my_clip._alpha=0;
    my_clip.onEnterFrame=function():Void
    {
    	this._x+=(400-this._x)/10;
    	this._alpha+=2;
    	if(this._x>=399)
    	{
    		this._x=400;
    		this.onEnterFrame=null;
    	}
    }
    
    

  • Super User

    Ci potrebbero essere diversi modi.
    Quello che mi viene in mente adesso è fai entrare la tua linea con un fade In di alpha.
    In più se utilizzi un movimento inerziale la cosa diventa professional 😉
    Movimento inerziale:
    esempio di una clip che si sposta da _x 0 a _x 400 con un fadeIn di alpha

    
    my_clip._alpha=0;
    my_clip.onEnterFrame=function():Void
    {
    	this._x+=(400-this._x)/10;
    	this._alpha+=2;
    	if(this._x>=399)
    	{
    		this._x=400;
    		this.onEnterFrame=null;
    	}
    }
    
    

  • User Attivo

    eheh tanto per cambiare non mi è chiarissimo..
    dunque creo una linea che si sposta le do un nome e le assegno quel codice?
    o quel codice lo assegno allo stage?

    grazie della disponibilità :ciauz:


  • User Attivo

    eheh tanto per cambiare non mi è chiarissimo..
    dunque creo una linea che si sposta le do un nome e le assegno quel codice?
    o quel codice lo assegno allo stage?

    grazie della disponibilità :ciauz:


  • Super User

    crea una movieclip con qualsiasi forma.
    La metti sullo stage e gli dai il nome my_clip
    Seleziona il primo e unico frame e scrivi nel pannello azioni il codice che ti ho scritto e poi guarda l'effetto.
    Dopodichè provi con delle movieclip a forma di linea.

    Ci sarebbe anche il metodo di disegnare delle linee in runtime ma per il momento non mi sembra il caso di parlarne in quanto richiede un livello avanzato di as 2.0.


  • Super User

    crea una movieclip con qualsiasi forma.
    La metti sullo stage e gli dai il nome my_clip
    Seleziona il primo e unico frame e scrivi nel pannello azioni il codice che ti ho scritto e poi guarda l'effetto.
    Dopodichè provi con delle movieclip a forma di linea.

    Ci sarebbe anche il metodo di disegnare delle linee in runtime ma per il momento non mi sembra il caso di parlarne in quanto richiede un livello avanzato di as 2.0.


  • User Attivo

    grazie mille, funziona!!
    ho provato a cambiare i parametri dei pixel e a mettere y al posto di x così da far muovere l'oggetto in verticale...
    ora provo a vedere se riesco a capire il codice anche se ho i miei dubbi..eheh
    ho provato anche a far entrare due clip uno dall'alto e uno da sinistra..funziona..
    per farli entrare al contrario da destra e dal basso cosa devo cambiare nel codice?


  • User Attivo

    grazie mille, funziona!!
    ho provato a cambiare i parametri dei pixel e a mettere y al posto di x così da far muovere l'oggetto in verticale...
    ora provo a vedere se riesco a capire il codice anche se ho i miei dubbi..eheh
    ho provato anche a far entrare due clip uno dall'alto e uno da sinistra..funziona..
    per farli entrare al contrario da destra e dal basso cosa devo cambiare nel codice?


  • Super User

    Se aumenti la x va da sinistra verso destra
    se diminuisci la x va da destra verso sinistra
    se aumenti la y va dall'alto verso il basso
    se diminuisci la y va dal basso verso l'alto

    esempio prova a mettere un meno al posto del più in questa riga:
    this._x+=(400-this._x)/10;
    quindi diventa
    this._x-=(400-this._x)/10;
    gli dici che la x della clip deve dimuire progressivamente fino a 400.
    Ora se la clip ad esempio si trova a 600, il risultato del calcolo avrà segno negativo perchè 400-600 =-200 quindi dovrai utilizzare la classe Math ed il codice giusto sarà:

    this._x-=Math.abs((400-this._x)/10);

    fai prove su prove e alla fine farai tua la logica, si tratta di matematica niente di più 😉


  • Super User

    Se aumenti la x va da sinistra verso destra
    se diminuisci la x va da destra verso sinistra
    se aumenti la y va dall'alto verso il basso
    se diminuisci la y va dal basso verso l'alto

    esempio prova a mettere un meno al posto del più in questa riga:
    this._x+=(400-this._x)/10;
    quindi diventa
    this._x-=(400-this._x)/10;
    gli dici che la x della clip deve dimuire progressivamente fino a 400.
    Ora se la clip ad esempio si trova a 600, il risultato del calcolo avrà segno negativo perchè 400-600 =-200 quindi dovrai utilizzare la classe Math ed il codice giusto sarà:

    this._x-=Math.abs((400-this._x)/10);

    fai prove su prove e alla fine farai tua la logica, si tratta di matematica niente di più 😉


  • User Attivo

    ottimo, grazie mille tutto chiaro farò un pò di prove...
    action scrip cambia molto la concezione che avevo di flash perchè pensavo che i movimenti degli oggetti si potessero dare solo con le interpolazioni ed il codice servisse per regolare questi clip, invece si può usare il codice per tutto (movimenti ecc) e le intepolazioni spesso non si usano più..

    cmq grazie mille, spero di cominciare a capirci qualcosa poco per volta..

    ciao buona giornata:-))


  • User Attivo

    ottimo, grazie mille tutto chiaro farò un pò di prove...
    action scrip cambia molto la concezione che avevo di flash perchè pensavo che i movimenti degli oggetti si potessero dare solo con le interpolazioni ed il codice servisse per regolare questi clip, invece si può usare il codice per tutto (movimenti ecc) e le intepolazioni spesso non si usano più..

    cmq grazie mille, spero di cominciare a capirci qualcosa poco per volta..

    ciao buona giornata:-))


  • Super User

    hehe
    è il codice che comanda tutto e non l'incontrario :ciauz:


  • Super User

    hehe
    è il codice che comanda tutto e non l'incontrario :ciauz:


  • User Attivo

    ciao ti disturbo ancora...
    stavo cercando di imparare lo script che mi hai dato..ho provato a mettere il codice che mi hai dato sul clip invece che nel frame dello stage..
    ho modificato il codice così ma non funziona:
    onClipEvent(load){
    _alpha=0;
    }
    onClipEvent(enterFrame)
    {
    fg._x+=(400-this._x)/10;
    fg._alpha+=2;
    if( fg._x>=399)
    {
    fg._x=400;
    // fg.onEnterFrame=null;
    }
    }

    fg è il nome che ho dato al fotogramma
    ho fatto questa prova ma sicuramente ho sbagliato tutto..bhooo
    grazie e scusa.. :ciauz:


  • Super User

    Ciao fruttino ,
    innanzitutto mi fa piacere il tuo coinvolgimento nel cercare di ampliare letue conoscenze con Actionscript.

    Il tuo codice non va bene perchè non puoi nominare i fotogrammi e poi richiamarli da codice.
    L'opzione di nominarli è stata fatta per un semplice utilizzo nel spostarsi nella linea temporale utilizzando gotoAndPlay('nome frame') e gotoAndStop('nome frame').
    Un'altra cosa, ti sconsiglio vivamente di scrivere codice sulle movieclips o sui bottoni.
    Cerca di scrivere solo sul primoframe e tieni la linea temporale il più corta possibile.

    Il comando onEnterFrame significa che tutto ciò che è scritto tra le sue graffe viene eseguito tante volte al secondo uanto è il tuo frame rate.

    onClipEvent() è un metodo obsoleto che non serve a nulla 😉


  • User Attivo

    grazie della tua risposta..sto cercando di imparare poco per volta coadiuvato da un amico che sa programmare in java/jsp e che mi sta dando 2 dritte, ed oltretutto si sta intrippando di actionscript..
    ti chiedo una cosa...
    perchè mi sconsigli di non usare codice sui clip?
    per esempio se ho due palline che voglio interagiscano tra loro, non sarebbe più logico associare le azioni ad ogni pallina?

    grazie e quando sei stufo di rispondere dimmelo che altrimenti divento noioso..eheh :ciauz:


  • Super User

    Non è la soluzione ottimale.
    Devi tener presente che Actionscript segue le regole della OOP e quindi dovresti ragionare ad oggetti.

    Concettualmente se hai 2 palline la dovresti vedere così:
    ogni pallina è un oggetto ed ognuna di loro potrebbe avere le sue proprietà e metodi.
    Ad esempio una movieclip, che altro non è che un'istanza di un oggetto(della classe MovieClip) ha tra le sue proprietà _width.
    Il codice va scritto o sulla timeline o (la miglior cosa ma per il momento lascia perdere) in files .as con cui crei le tue classi personalizzate e lavori con ereditarietà e polimorfismo.
    Se spargi il codice per tutta l'applicazione diventa difficile tener traccia di tutto quello che fai e carichi la memoria dell'applicazione di rindondanze.