Flash: problemi con tabulazione

Di: sanguisuga | 26/09/2020 18:38:18
Sto facendo un gioco, ma ho un problema a cui non ho trovato soluzione(premetto che sono agli inizi)
Ho una scena con un certo numero di movie clip, a ognuno è associato un ordine di tabulazione. Quando il clip è selezionato posso muoverlo sulla scena tramite le frecce.Il problema è che nel momento in cui muovo il clip con la freccia dx tutto ok ma quando lo faccio con le altre 3 il clip si muove ma contemporaneamente si sposta la tabulazione(questo lo sò perchè mentre muovo il clip gli altri, a turno, visualizzano il quadrato giallo del tab e partono i rollOver associati). Ma io non ho un codice che sposta l'ordine di tabulazione tramite le frecce. Come faccio a usare le frecce senza che si sposti la tabulazione? La porzione di codice che sposta i clip(mc) con l'uso delle frecce è questo
switch(Key.getCode())
{
case Key.LEFT :
{mc._x=mc._x-4;
if(mc.hitTest(bimba))
{gestisci_posiz(mc);}
break;}
.........
.....
l'ordine di tabulazione lo assegno così
clip.tabIndex=4;
grazie mille.

Risposte



Ciao sanguisuga,
grazie per aver scelto il forum di 001design.it.
il tabIndex è stato inserito in Flash per migliorare l'accessibilità dei filmati, una volta dichiarato il tabIndex per un movieClip si attivano tutte le interazioni da tastiera che sono state pensate apposta per questo motivo, compresa la “navigazione tra pulsanti” con l'uso dei tasti freccia.
Per quello che so, non si può disabilitare questo comportamento.
Per ovviare a questo inconveniente devi abbandonare l'idea del tabIndex e devi scrivere una funzione personalizzata che cambi il focus alla pressione del tasto tab (o di un qualunque altro tasto).
Ciao.

Di: Professore | 26/09/2020 18:38:18


Grazie mille per la pronta risposta...mi metto subito al lavoro...
ciao

Di: sanguisuga | 26/09/2020 18:38:18


Ciao,
ho provato a scrivere un pezzo di codice che cambi il focus quando si schiaccia il tasto spazio ma non riesco a farlo funzionare mi potete dire dove sbaglio!?!
cont=new Array(mare,passeggiata,quiz);
// array che contiene i clip sui quali voglio gestire il focus
i=0;
Key.SPACE.onKeyDown = function() {
if(i==(cont.length--))
i=0;
Selection.setFocus(cont[i].toString());
i++;
}
quello che fà è dare il focus solo al secondo elemento senza neanche attivare il rollOver associato al clip....non sò più che pesci pigliare

Di: sanguisuga | 26/09/2020 18:38:18