Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    AS3 Popolare una combobox con funzioni di easing

    Come faccio a passare una funzione di easing con una combobox (come si vede in tante demo di piattaforme di easing?)

    codice:
    cmbEase.addItem({label:"Regular.easeOut", data:Regular.easeOut});
    cmbEase.addItem({label:"Bounce.easeOut", data:Bounce.easeOut});
    cmbEase.addItem({label:"Back.easeOut", data:Back.easeOut});
    Facendo così

    e poi prendendo il parametro
    codice:
    var cambiaEase:Function=function(e:Event){
    	var controllo = posit.getControl(pippo)
    	controllo._ease = e.target.value;
    	posit.update()
    }
    a questo punto mi trovo un errore
    codice:
    var _ease:Function = oggetto._ease;
    
    // errore: Assegnazione di tipo forzata non riuscita: impossibile convertire "function Function() {}" in Function.



    Da notare che se non tipizzo _ease non ho l'errore ma la funzione di easing non viene presa comunque dalla tween

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Beh, il modo è corretto, mentre l'errore non mi sembra provenire dal codice che hai scritto qui, piuttosto è più probabile che derivi da una funzione successiva.
    Ho utilizzato lo stesso metodo in passato e funziona correttamente.

  3. #3
    Edito che avevo fatto una cavolata.
    Il trace è questo

    codice:
    var cambiaEase:Function=function(e:Event){
    	var controllo = posit.getControl(pippo)
    	//var funzione:Function = e.target.value
    	controllo._ease = e.target.value;
    	//posit.update()
    	trace(typeof(e.target.value)) // string
    	trace(e.target.value) // function Function() {}
    }
    L'errore è lì comunque, se tolgo il valore letto dalla combo e lo metto dentro la variabile niente più errori

  4. #4
    Ok, ecco l'inghippo

    codice:
    var cambiaEase:Function=function(e:Event){
    	var controllo = posit.getControl(pippo)
    	controllo.ease = e.target.value;
    	//posit.update()
    	trace(e.target.value)		 // function Function() {}	
    	trace(typeof(e.target.value))  // string
    	
    	trace(Bounce.easeOut) // function Function() {}
    	trace(typeof(Bounce.easeOut)) //function
    
    }
    Ho una stringa invece di una funzione, ma come devo passarlo il parametro allora?

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Scusa ma chi è il target di quella funzione?! Se è il combo, allora il valore non cercarlo con "value", ma con selectedItem che è un oggetto che contiene le proprietà "label e "data", label è una stringa mentre data è quello che gli passi, quindi nel tuo caso è la funzione.

  6. #6
    ... hai ragione...risolto, grazie.

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se posso, ti suggerisco di preferire classi esterne per il tweening a quella nativa. L'aumento delle prestazioni è notevole.

  8. #8
    sìsì, sono diventato un fedelissimo di tweenlite, con la versione beta della 11 han messo anche la timeline virtuale. Sono pazzi

    Finisco di scrivere i metodi poi metto online la classe. Serve per controllare la posizione degli oggetti ai bordi dello stage

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Allora come mai utilizzi le easing? Se non sbaglio tweenlite usa delle stringhe per comunicare il tipo di easing da usare.
    Beh, avrai le tue ragioni smetto di indagare.

  10. #10
    Beh, no le funzioni di easing sono le stesse della classe tween, solo che volendo con la classe di GreenSock ce ne sono altre scritte da Robert Penner.

    (Poi non so se ci sono altri sistemi)

    Tra l'altro, mi pare di capire che in AS3 le funzioni di Easing possono essere personalizzate con dei parametri a scelta per ottenere dei movimenti differenti, ma non ho provato.

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.