JSFL: Soppressione / clic automatico nelle finestre di dialogo
Domanda
var tmpDoc = fl.createDocument();
/*..some logic...*/
tmpDoc.addItem({x:0,y:0},item);
Il mio JSFL ha il codice di cui sopra.
E sulla linea 3, ottengo una finestra di dialogo:
che ha il titolo: "Risolvere il conflitto library"
due pulsanti di opzione: "sostituire", "Dont sostituire"
due tasti: "ok", "cancel"
A causa di questa finestra di dialogo, devo controllare manualmente
l'esecuzione dello script e fare clic su un pulsante.
Voglio uno:
1. Sopprimere questo tipo di dialogo boxex del tutto.
2. o programatically fornire un'opzione predefinita per questo tipo di finestre di dialogo.
Come faccio lo faccio con JSFL?
Soluzione
Si può provare a verificare se esiste la voce prima di aggiungerlo alla libreria utilizzando biblioteca itemExists () funzione :
var doc = fl.getDocumentDOM();
var lib = doc.library;
//check if the item already exists first, if so, keep count of symbols with the same name, append random, etc.
if(!lib.itemExists('item')) lib.addNewItem('movie clip','item');
else lib.addNewItem('movie clip','item'+Math.random());
HTH
Altri suggerimenti
Sono stato in grado di lavorare intorno a questo. Il trucco è che quando si aggiunge un nuovo elemento, atterra al livello superiore della biblioteca e gli sguardi di conflitti lì, anche se c'è un "identico" da qualche parte elemento in una cartella della libreria.
E quando si sposta un elemento di libreria utilizzando JSFL (library.moveToFolder) alla posizione dello stesso elemento in una cartella, l'elemento viene sostituito, e non viene visualizzata la finestra di conflitto.
- Se possibile, spostare manualmente la voce di libreria che si desidera dal livello superiore della biblioteca in una cartella. Questo viene fatto solo una volta ed è un cambiamento permanente alla struttura della libreria.
- Al momento lo script, quando si aggiungono ogni elemento al documento, chiamare library.moveToFolder (folderPath, ItemPath, true);
- Questo sovrascriverà l'elemento nella cartella e saltare il prompt
Il tuo approccio esatto può essere differente a seconda delle esigenze, ma la chiave è quello di non avere elementi nella parte superiore della biblioteca, mentre si sta aggiungendo. Spostarli altrove prima.
Come al solito facendo in quattro per Flash! Spero che questo aiuti.
P.S., Questo funziona anche per l'aggiunta di componenti alla libreria.