Domanda

E 'un senario complicato per me.

Ho un Singleton sana gestione con un bene come la memorizzazione di tutti dizionario referances ai miei URL e le attività e l'guff al suo interno -

Ho una funzione chiamata addItem(id:String, url:String):Object

Mi piacerebbe fare qualcosa di simile come soundManager.addItem(id:String, url:String).play() o soundManager.addItem(id:String, url:String).stop() di cui ti sia aggiungere la mia voce al mio dizionario, e iniziare la riproduzione del suono

Al momento faccio soundManager.addItem(id:String, url:String) poi soundManager.play('myID').

La mia risorsa audio è un oggetto che contiene un paio di bit come il suono, SoundChannel, SoundTransform, URL e alcune altre nessuno parti descript.

So che sarà prototipazione - ottengo solo uber bloccato quando ho bisogno di prototipo mie funzioni e oggetti personalizzati

.

Grazie in anticipo


conclusione:

Beh, ho fatto fare la riproduzione automatica, come menzionato nella mia risposta accettata.

Ho anche fatto qualcosa di molto fresco, che mi piace il look di.

creo una classe SoundManager, di cui gestisce e utilizza un SoundObject dei quali contiene SoundTransform, SoundChannel e quant'altro oggetto Sound richiede.

In questo modo quando aggiungo un elemento alla SoundManager, sarà sempre tornare alla Classe SoundObject che incorpora tutte le play (), pause (), il volume (), posizione () Ho bisogno.

E 'davvero molto utile e ho già usato su 4 progetti! Yey.

Grazie ragazzi per il vostro aiuto.

È stato utile?

Soluzione

se siete alla ricerca di codice allora:

soundManager.addItem(url:String)

sta tornando un oggetto (che appena aggiunto), che viene poi viene dato il comando play(). avete alcune opzioni facili in questo.

1) se si gioca sempre il suono, poi basta aggiungere il comando nella funzione addItem().

2) se si vuole fare esattamente quello che hai lì allora avete bisogno di fare una classe adeguata per l'oggetto del suono con una funzione di riproduzione (). probabilmente uno che invia un evento a SoundManager che poi passa il suono.

3) aggiungere un booleano per l'affermazione aggiungere che è una funzione autoplay, qualcosa come:

addItem(value:*, autoPlay:Boolean = false):Object{
if(autoplay) play()
}

Altri suggerimenti

che cosa esattamente cosa si intende per "prototipazione"? vuoi dire l'aggiunta di metodi personalizzati per un oggetto Prototyp classi a tempo di esecuzione? anche se ancora possibile, che non è più una pratica comune in AS3 per i seguenti motivi:

  1. Non type-safe
  2. cattive prestazioni
  3. raramente ha alcun vantaggio rispetto sottoclassi.

Inoltre, si dovrebbe scegliere una firma del metodo per addItem. avete elencato 3. che è un po 'di confusione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top