- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- assegnare comandi alla tastiera
-
Scusa Flep, la mia ignoranza, riesco a vedere il codice del tasto premuto, che è (0) come hai detto, e ora ? cosa devo fare affinchè premendo un particolare tasto mi parta il movie che voglio ?
Come associo il nome del movie al tasto ? Perdonami , in fatto di Flash sono un pò ignorante, cerca di non dare nulla per scontato.
comunque è sabato sera e se non ti va di rispondermi capirò.
Grazie ancora Stefania
-
Ad esempio il tasto s ha codice ascii 115.
Ora se vuoi che un'azione venga eseguita quando il tasto s è premuto:var obj:Object=new Object(); obj.onKeyDown=function():Void { if(Key.getAscii()==115) { trace('ok'); } } Key.addListener(obj);
Al posto del trace puoi mettere le azioni che vuoi vengano eseguite.
Ad esempio:var obj:Object=new Object(); obj.onKeyDown=function():Void { if(Key.getAscii()==115) { _root.gotoAndPlay(2); } } Key.addListener(obj);
-
Carissimo Flep ti ringrazio infinitamente per la tua gentilezza nel rispondermi anche di domenica,ora credo di avere le ideee un po più chiare.
Però ancora non ho raggiunto il mio obbiettivo.
Mi SPIEGO MEGLIO:Voglio realizzare un interfaccia con 5 o 6 filmati quik-time, ciascun filmato deve essere associato ad un tasto della tastiera che una volta premuto vada in play.
Ho fatto una prova con le istruzioni che tu mi hai suggerito e in base a ciò che sono riuscita a capire, ho agito nel seguente modo :Ho creato 2 livelli, al primo frame del 1 livello ho assegnato l'azione stop.
Nel primo frame del secondo livello ho inserito il filmato riducendo in proporsione la sua dimenzione fisica, e l'ho convertito in un pulsante nell'azione del quale ho inserito :on (press) {var obj:Object=new Object();
obj.onKeyDown=function():Void
{
if(Key.getAscii()==115)
{
_root.gotoAndPlay(10);
}
}
Key.addListener(obj);
}Sempre nel livello 2 al frame 10 ho inseriro il filmato corrispondente in tutta la sua dimenzione.
Quando lancio l'SWF e premo il tasto S non succede nulla riesco ad andare al frame 10 solo se premo invio, ma chiaramente non è quello che voglio.DOVE HO SBAGLIATO ?
Spero che tu sia munito di tanta pazienza
Ancora Grazie Stefania
-
Con quel codice sposti la timeline principale al frame 10 dove hai il video.
Prova allora a dire:
_root.gotoAndStop(10);e al frame 10 devi far partire il video; ha uno stop sul primo frame questo video ?
-
Ho provato a dire _root.gotoAndStop(10); ma non cambia nulla, va al frame 10 solo se premo l'invio, e per rispondere alla tua domanda SI al primo frame il video ha uno stop.
-
stefy me ne sono accorto adesso grrrr
quel codice non funzionerà mai perchè l'evento è onPress, cioè tu hai scritto quel codice su un bottone o una movieclip.
Scrivi il codice senza onpress sulla timeline, esattamente come te l'ho scritto io
-
Ho inserito on Press perchè altrimenti mi riportava i seguenti errori :
Errore Scena=Scena 1, livello=Livello 3, fotogramma=1:Linea 1: L'istruzione deve apparire all'interno del gestore on
var obj:Object=new Object();
Errore Scena=Scena 1, livello=Livello 3, fotogramma=1:Linea 2: L'istruzione deve apparire all'interno del gestore on
obj.onKeyDown=function():Void
Errore Scena=Scena 1, livello=Livello 3, fotogramma=1:Linea 9: L'istruzione deve apparire all'interno del gestore on
Key.addListener(obj);
Totale errori ActionScript: 3 Errori segnalati: 3che con onPress non compagliono, ma è chiaro che a giudicare dal risultato e dalle tue informazioni non significa nulla.
Allora sono costretta a ripeterti la domanda
Ma allora dev'è che sbaglio ?
-
Il publish setting è settato per actionscript 2.0 ?
Inoltre sei sicura che scrivi il codice sulla timeline ?onPress non serve in questo caso, se lo metti e non ti dà errore è perchè non stai scrivendo il codice sulla timeline.
Copia il mio codice, seleziona il primo frame della timeline e copialo
-
GRAZIE Flep sei GRANDEEEEEEE...
Ho creato un documento ex novo e ho ripetuto il procedimento, scrivendo il codice nella timeline, e ora funziona tutto correttamente.
Però prima di congedarmi dalla tua preziosa collaborazione vorrei rivolgerti un ultima spero! domanda :il seguente codice, funziona su di un filmato:
var obj:Object=new Object();
obj.onKeyDown=function():Void
{
if(Key.getAscii()==115)
{
_root.gotoAndStop(10);
}
}
Key.addListener(obj);si riferisce quindi ad un solo filmato che dall'interfaccia mi porta come ti ho detto ad eseguire uno stesso filmato più grande al frame 10.
Ora per far si che la stessa operazione avvenga anche su altri filmati presenti nell'interfaccia, devo creare per ognuno un livello distinto, o posso aggiungere delle informazioni sullo stesso frame della timeline ?
Se devo aggiungere altre info allo stesso frame come vanno inserite esattamente ?Ancora infinitamente grazie
Stefania
-
Dopo la riga
_root.gotoAndStop(10);puoi assegnare altri comandi, dipende da quello che vuoi fare
-
Grazie per le tue preziose informazioni
in corso d'opera avrò sicuramente ancora bisogno di te e probabilmente tornerò a disturbarti.
Per ora nel congratularmi con te per la tua cortese attenzione e professionalità, ti auguro Buonanotte
Stefania
-
Prego
E' stato un piacere
-
Ciao a tutti,
ho un problema lievemente simile. Premetto che non so se ciò che vorrei fare è possibile. Sto costruendo un sito istituzionale in flash e mi serve introdurre come funzionalità la possibilità di ingrandire o diminuire la dimensione del testo della pagina.
Siccome credo che in flash questo sia un po un casino ho pensato che si potesse ottenere lo stesso risultato qualora fosse possibile linkare un tasto del mio sito al comando "ctrl" + "+" della tastiera che non fa altro che dire al browser di effettuare uno zoom.
E' possibile fare questo e come?:?Grazie mille!
-
Fare lo zoomin e zoomout di un campo di testo dinamico in flash non è una impresa impossibile, crei un campo di testo dinamico al quale dai nome istanza ad esempio "sfondo", poi crei un pulsante con nome istanza "zoomin" e uno con nome istanza "zoomout", qusti i codici da mettere sui pulsanti.
zoomin```onClipEvent (enterFrame) {
//dichiara la funzione "zoom" che ingrandisce il clip "sfondo"
if (zoom) {
_root.sfondo._yscale += 5;
_root.sfondo._xscale += 5;
}
}
onClipEvent(mouseDown){
//dichiara mx e my come posizione del mouse
mx = _root._xmouse;
my = _root._ymouse;
//controlla che il mouse sia sul clip "zoomin"
if(_root.zoomin.hitTest(mx,my,true)) {
//se il pulsante si trova sul pulsante ""zoomin"
//dichiara valida la funzione di ingrandimento "zoom"
zoom = true;
}
}
onClipEvent(mouseUp){
//se non si tiene il mouse premuto la zoommata si ferma
zoom = false
}zoomout``` onClipEvent (enterFrame) { //dichiara la funzione zoom2 che rimpicciolisce il clip if (zoom2) { _root.sfondo._yscale -= 5; _root.sfondo._xscale -= 5; } } onClipEvent(mouseDown){ //dichiara mx e my come posizione del mouse mx = _root._xmouse; my = _root._ymouse; //controlla che il mouse sia sul clip "zoomout" if(_root.zoomout.hitTest(mx,my,true)) { //se il pulsante si trova sul pulsante ""zoomout" //dichiara valida la funzione di rimpicciolimento "zoom2" zoom2 = true; } } onClipEvent(mouseUp){ zoom2 = false; }
-
Ciao Nhatan e grazie per la risposta. Il problema è che intorno al testo c'è della grafica e il suo ingrandimento da solo mi incasinerebbe il layout della pagina!! Purtroppo il sito è già quasi pronto e non posso ricostruirlo pensando ad un ingrandimento del testo. Per questo motivo ho pensato di trovare un modo che mi ingrandisse direttamente tutte le pagine senza bisogno di doverle ricreare tutte in un formato più grande!
-
Scusate, mi intrometto in questa discussione per chiedere se qualcuno sa se vi è la possibilità di intercettare otre che i tasti della tastiera anche gli assi x e y di un joystick.
Grazie a tutti.