• User

    .....cambiamo discorso....posso impostare le proprietà di un movie con il setproperty, ma nell'esempio che c'è nella guida http://flash-mx.html.it/guide/view_lezione.asp?idguida=4&id=37 il set property della x e della y viene settato ogni volta che viene premuto il tasto imposta.... Mettiamo che io ho un segnale entrante che mi da dei valori che io vorrei impostare come x ed y del mio movie (finto mouse) come faccio a far si che questi 2 valori attraverso il setproperty aggiornino automataticamente la x e la y del movie?


  • Super User

    S i valori in questione arrivano da uno script lato server allora usando la classe loadVars di Actionscript 2.0 puoi recuperare variabili dal tuo script ed impostare le proprietà della tua movieclip con quei valori.

    Ti faccio un esempio , ma non utilizzo il setProperty perchè è un metodo obsoleto e rindondante.
    Le movieclips hanno già le loro proprietà e loro metodi, per cui basta richiamarle e passargli dei valori per modificarle, senza complicarsi la vita con setProperty.
    Addirittura, siccome la classe MovieClip è dinamica, potresti creare delle proprietà alla tua movieclip in runtime (ma non è il nostro caso).

    Un esempio potrebbe essere:

    
    var clip:MovieClip=_root.my_mc;
    var submit:MovieClip=_root.submit_mc;
    function sendMyVars()
    {
    	var datas:LoadVars=new LoadVars();
    	datas.onLoad=function(success) 
    	{
    		if(success) 
    		{
    			clip._x=this.nomeVariabileCheTiPassaLoScript;
    			clip._y=this.nomeVariabileCheTiPassaLoScript;
    		} 
    		else 
    		{
    			trace('non caricato');
    		}
    	}
    	datas.load('http://www.dominio.com/my_script.aspx',datas,'POST');
    }
    submit.onPress=function() 
    {
    	sendMyVars();
    }
    
    

    Quì recupero 2 valori da uno script che potrebbe benissimo 'pescarli' da un database e li passo alle proprietà x e y della movieclip.
    In questo esempio utilizzo uno script asp2 ma puoi farlo anche con asp o php o cfm.


  • User

    così mi complichi seriamente la vita....magari nel 2008 capisco lo script e nel 2009 riesco a riadattarlo al mio video e nel 2010 riesco a dare l'esame a scuola!!!!!!!!


  • Super User

    @colorants said:

    così mi complichi seriamente la vita....magari nel 2008 capisco lo script e nel 2009 riesco a riadattarlo al mio video e nel 2010 riesco a dare l'esame a scuola!!!!!!!!

    Se vuoi caricare dentro flash dei valori che prendi da un database non hai altre soluzioni :mmm:


  • User

    riesci gentilmente a spiegarmi passo passo cosa c'è scritto nello script? Chiedo troppo forse?


  • Super User

    var clip:MovieClip=_root.my_mc;
    questa dichiaro la movieclip le cui proprietà x e y verranno modificate

    var submit:MovieClip=_root.submit_mc;
    qui dichiaro la movieclip che funge da bottone

    function sendMyVars()
    qui dichiaro la funzione che caricherà i valori delle variabili dallo script lato server

    var datas:LoadVars=new LoadVars();
    qui istanzio la classe LoadVars

    datas.onLoad=function(success)
    {
    if(success)
    {
    clip._x=this.nomeVariabileCheTiPassaLoScript;
    clip._y=this.nomeVariabileCheTiPassaLoScript;
    }
    else
    {
    trace('non caricato');
    }
    }
    qui col metodo onLoad della classe LoadVars (cioè ad avvenuto caricamento) dico alla clip con nome my_mc di andare alla x e y date dai valori che lo script mi sta restituendo altrimenti se non va a buon fine l'azione gli dico di traccirmi come output di Flsh un errore.

    datas.load('http://www.dominio.com/my_script.aspx',datas,'POST');
    questo è il metodo che chiama lo script

    submit.onPress=function()
    {
    sendMyVars();
    }
    qui la movieclip che funge da bottone invoca la funzione sendMyVars


  • User

    scusa se insisto ma in questo punto:

    {
    clip._x=this.nomeVariabileCheTiPassaLoScript;
    clip._y=this.nomeVariabileCheTiPassaLoScript;
    }

    al posto di clip non posso agire direttamente sul mouse?


  • Super User

    @colorants said:

    scusa se insisto ma in questo punto:

    {
    clip._x=this.nomeVariabileCheTiPassaLoScript;
    clip._y=this.nomeVariabileCheTiPassaLoScript;
    }

    al posto di clip non posso agire direttamente sul mouse?

    la clip potrebbe essere la finta freccina del mouse che hai creato, basta che gli di il nome di quella clip


  • User

    si questo lo so... ma mi hanno appena detto che sono obbligato a lavorare sul mouse e non su un finto mouse...! PROFESSORI!


  • Super User

    Scusa ma non puoi governare il mouse dell'utente... !


  • User

    cioè io non ho la possibilità di impostare le x e le y del mouse? Non me lo sarei mai aspettato! :arrabbiato:


  • Super User

    @colorants said:

    cioè io non ho la possibilità di impostare le x e le y del mouse? Non me lo sarei mai aspettato! :arrabbiato:

    Puoi impostare la tua applicazione in base alle x e y del mouse dell'utente ma non puoi governare il suo mouse


  • User

    un'altra cosa....dopo che ho settato la x e la y del movie per far si che il movie si comporti come una vera freccettina come faccio.... tipo quando sono sopra l'area sensibile di un pulsante io voglio dare un gotoAndPlay.... Come faccio? Devo usare il metodo hitTest? Grazie ciao


  • Super User

    La miglior soluzione sarebbe calcolare le reali distanze utilizzando il teorema di Pitagora e bypasssando hitTest che non è il massimo, ma questo dipende dal tuo livello di Actionscript .

    Comunque utilizzando hitTest viene un bel lavoro.


  • User

    Io sono un principiante per cui credo che mi accontenterò del hitTest.....grazie cmq ciao ciao :fumato: