Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Sam981
    Registrato dal
    Mar 2002
    Messaggi
    116

    Moto uniformemente decelerato

    Salve gente! Sulle pagine di questo form ho trovato il seguente scipt:
    codice:
    onClipEvent(load){ 
    	_visible = 0
    	n_1 = 0
    	vel = 22
    	txt = n_1}
    onClipEvent(enterFrame){
    		_visible = true
    		n_1 = Number(txt)
    		diff = ((n_2 - n_1)/vel)
    		n_3 += diff
    		if (isInt)
    		txt = int(n_3)}
    E' un'applicazione del moto uniformemete decelerato. Un contatore testuale che si incrementa di uno fino a raggiungere un determinato valore (acquisito da un file di testo), potete visualizzare il risultato sulla mia homepage. Vorrei capire s'è è possibile fare in modo che ad ogni incremento venga eseguito un suono. Il risultato potrebbe essere un pò da giro della ruota della fortuna... mi rendo conto! Ma il problema è che ci sbatto la testa da un paio d'ore senza risultato. Ho provato ad applicare una modifica all'enterFrame:
    codice:
    onClipEvent(enterFrame){
    		_visible = true
    		n_1 = Number(txt)
    		diff = ((n_2 - n_1)/vel)
    		n_3 += diff
    		if (isInt)
    		txt = int(n_3)
    
    		s=new Sound(); 
    		s.attachSound("Count");
    		s.start();}
    Ma così è chiaro il suono viene ripetuto UNO di continuo e DUE senza alcuna relazione con la decelerazione del contatore. Spero di essere stato chiaro, vi ringrazio per gli eventuali suggerimenti o soluzioni!

  2. #2
    Creati l'oggetto sound elo attacchi all'evento load, poi nell'enter frame metti lo start all'inizio e lo stop alla fine. Oppure ancora meglio il suono basta che ha solo un bip, una volta riprodotto lui si ferma, la volta successiva che lo rimandi in play ti riproduce solo il bip. Fai sempra la stessa cosa, crei l'oggetto nel load e lo metti in play nell'enter frame

  3. #3
    Utente di HTML.it L'avatar di Sam981
    Registrato dal
    Mar 2002
    Messaggi
    116
    Grazie per la disponibilità Jeck! Stesso problema di sopra però...
    Inserendo s.start() on{enterFrame} il suono va in loop senza alcun riferimento al moto decelerato.

  4. #4
    Allora succede questo perchè il tempo di esecuzione del suono è troppo lento rispetto al tempo di esecuzione dell'enter frame. Prova a simularlo,all'evento ondata assegni lo start, e quando il clip è arrivato a destinazione fermi il suono, il suono deve essere della lunghezza di esecuzione dello script e con il moto decelerato. in questo modo il suono è in loop e dovrebbe farti l'effetto che desideri

  5. #5
    Utente di HTML.it L'avatar di Sam981
    Registrato dal
    Mar 2002
    Messaggi
    116
    Ah, capito che intendi. IO avevo a disposizione un suono che credevo potesse fare al caso mio. Un bip, come dicevi tu prima. E non un suono già bello e pronto. Anche il tempo di esecuzione della clip temo sia variabile. Cmq grazie per la dritta! Se non dovessi poter risolvere da script proverò a creare qualcosa che faccia al caso mio!

  6. #6
    Di nulla, se vuoi qualcosa che impieghi di più a richiamare la funzione puoi utilizzare setInterval()


  7. #7
    Utente di HTML.it L'avatar di Sam981
    Registrato dal
    Mar 2002
    Messaggi
    116
    Ciò di cui avevo bisogno era eseguire un suono al verificarsi di un evento. L'evento, nello specifico, aveva moto uniformemente decelerato. Ora, nello script che utilizzo c'è un solo buon momento per verificare che la condizione si verifichi, ossia quello che precede l'assegnazione della variabile al campo di testo. Se il valore della variabile è diverso da quello del campo di testo, allora qualcosa è cambiato, ovvero l'evento ha avuto luogo. Ho risolto così Jeck! Grazie per le tue dritte! Per quanti fossero interessati posto lo script funzionante.
    codice:
    onClipEvent(load){ 
    	_visible = 0
    	n_1 = 0
    	vel = 22
    	txt = n_1
    	s=new Sound()
    	s.attachSound("Count")
    	s.setVolume(10)
    }
    onClipEvent(enterFrame){
    		_visible = true
    		n_1 = Number(txt)
    		diff = ((n_2 - n_1)/vel)
    		n_3 += diff
    		if (int(n_3)!=txt){s.start()}
    		txt = int(n_3)
    }

  8. #8

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.