In questo tutorial, creeremo un box HTML che analizza il contenuto caricato da XML e CSS. Lo costruiremo utilizzando ActionScript 3.0 in modo che possiamo compilarlo in FlashDevelop. Mostrerò anche come compilarlo in Flash IDE. Ci concentreremo sulla creazione di file di script esterni (classi), caricamento e utilizzo di file XML e CSS, ognuno dei quali presuppone una certa comprensione di ActionScript. Iniziamo!
Durante i seguenti passaggi creeremo una Casella HTML utilizzando ActionScript 3.0. Lungo la strada vedremo:
Puoi creare i file che vedremo in seguito in un texteditor come il blocco note ecc., Utilizzerò FlashDevelop come ambiente di sviluppo. I nostri file saranno:
e per coloro che vogliono compilare in Flash IDE:
In FlashDevelop, avvia un nuovo progetto. Scegli "Progetto AS3" e chiamalo "htmlBox".
Dopo aver creato il progetto, "Main.as" verrà creato automaticamente. È necessario creare altri file manualmente. Aggiungi una cartella denominata "keremk" alla cartella src.
In questa cartella creeremo "XMLLoader.as" e "CSS.as" facendo clic con il pulsante destro del mouse su "keremk" e andando su Aggiungi> Nuova classe ... Aggiungeremo anche i nostri "source.xml" e "styles.css "file nella cartella bin facendo clic con il pulsante destro del mouse su" bin "e andando a Aggiungi> Nuovo file XML ... e Aggiungi> Nuovo file CSS.
Per Flash IDE, crea una cartella denominata "htmlBox" nel tuo explorer. Crea "Main.as" facendo clic con il pulsante destro del mouse e andando su Nuovo> File ActionScript di Flash, quindi crea "htmlBox.fla" facendo clic con il pulsante destro del mouse e selezionando Nuovo> Documento Flash. Quindi creare una cartella denominata "keremk" allora in questa cartella crea "XMLLoader.as" e "CSS.as". È necessario creare "styles.css" e "source.xml" nella cartella "htmlBox" (stessa cartella dei file "Main.as" e "htmlBox.fla"). Puoi crearli facendo clic con il tasto destro e andando su Nuovo> Documento di testo e rinominando le estensioni. Puoi usare qualsiasi editor per scrivere file "come", "xml" e "css". Puoi anche scrivere file "come" in Flash IDE facendo doppio clic su di essi.
Userò famiglia di font, dimensione del font, allineamento del testo, font-weight, color e
proprietà di decorazione del testo nel mio file CSS. Creerò anche un tag "hW" per le intestazioni e le classi "activeL", "passiveL", "page" e "para" per altri testi.
hW: stili di intestazioni attiviL: stili di collegamento attivi passiviL: pagina stili di collegamento passivo: stili di numero di pagina para: stili di paragrafo
Ecco il codice. Non lo spiegherò riga per riga perché penso che sia abbastanza comprensibile.
A: link text-decoration: underline; A: hover text-decoration: none; hW font-family: "Courier New", Courier, monospace; font-size: 20px; allineamento del testo: centro; font-weight: bold; colore: #CCCCCC; .activeL font-family: "Comic Sans MS", corsivo; font-size: 12px; allineamento del testo: centro; font-weight: normal; colore: #EEEEEE; .passiveL font-family: "Comic Sans MS", corsivo; font-size: 12px; allineamento del testo: centro; font-weight: normal; colore: # 666666; .para font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; allineamento del testo: giustificare; font-weight: normal; colore: #CCCCCC; .page font-family: Verdana, Arial, Helvetica, sans-serif; colore: #CCCCCC; font-size: 12px; allineamento del testo: giusto; font-weight: normal;
Quando creiamo un file XML, utilizzeremo i tag Flash-htmlText mostrati di seguito. Per ulteriori informazioni, puoi visitare Adobe per TextField.htmlText.
Tag di ancoraggio (tag link): Tag grassetto: Tag di interruzione:
Tag immagine: Tag italico: Lista tag:Tag di paragrafo: Tag span: Tag di sottolineatura:
Inizieremo a creare il nostro "source.xml" definendo il firstchild come . Tra i
Entry point for page 1 ?> Entry point for page 2 ?>
Inizieremo con una pausa "
"per migliorare la presentazione. Nota che dobbiamo chiudere ogni tag che usiamo in XML, altrimenti il file XML non può essere analizzato. "
"è un tag chiuso. Dopo il tag "break", scriveremo un'intestazione all'interno del tag "hw" e inizieremo il paragrafo in " "Per gli elenchi useremo un""tag.
INTESTAZIONE
Paragraph text ?>List item ?> List item ?>
Per aggiungere i link successivi e precedenti, useremo "evento: successivo" e "evento: prev" come "href". Questi saranno catturati dal flashplayer come un evento. Quando si fa clic sui collegamenti, "evento: successivo" invia un evento "link" con un testo "successivo" in flash.
... < PREVIOUS | | SUCCESSIVO>
In questa pagina (per la prima pagina) non ci sarà una pagina precedente. Quindi il link precedente dovrebbe essere passivo e il suo "href" deve essere vuoto.
A proposito, per vedere "<", "&" etc. symbols in htmlbox we should use their codes shown below.
< : < (less than) > :> (maggiore di) &: & (e commerciale) ":" (virgolette) ' : '(apostrofo, virgoletta singola)
Quando si aggiungono numeri di pagina, è sufficiente utilizzare la classe "page" per "span". Il modello dei numeri di pagina dipende da te. Li ho scritti così: "(pagina 1/3)".
... (pagina 1/3)
Ed ecco il mio file XML con una pagina.
AS3 HTML BOX con supporto XML e CSS
Ciao a tutti.
Questa scatola HTML è stata creata con solo AS3. E tutti i codici sono stati scritti in file "come" esterni.
Con il tutorial qui sotto, imparerai:
Come creare classi esterne.
Come caricare, analizzare e utilizzare file XML e CSS in un htmlText.
Come creare nuovi eventi con "dispatchEvent" e utilizzare quegli eventi.
Come usare "TextEvent" in htmlText.
Come usare i tag htmlText.
< PREVIOUS | | SUCCESSIVO>
(pagina 1/3)
A proposito, puoi aggiungere immagini alle tue pagine come mostrato di seguito:
with link ?> without link ?>
Abbiamo creato la cartella "keremk" e useremo questa cartella per le nostre classi "XMLLoader" e "CSS".
Pertanto, dobbiamo iniziare le nostre lezioni con:
pacchetto keremk
Inizieremo la nostra classe CSS con "pacchetto keremk ". Il suo nome di classe sarà uguale al nome del file "CSS". Nota: ActionScript fa distinzione tra maiuscole e minuscole. Poiché invieremo eventi con questa classe, verrà esteso "EventDispatcher".
pacchetto keremk // CSS è nella cartella keremk public class CSS estende EventDispatcher // CSS invierà eventi public function CSS (): void loader = new URLLoader; // quando viene creato un CSS, verrà definito un nuovo loader
import flash.net.URLLoader; // Caricheremo il file css con urlloader import flash.net.URLRequest; // e dovrebbe esserci una richiesta da caricare. import flash.text.StyleSheet; // Analizzeremo il file css come StyleSheet. import flash.events.SecurityErrorEvent; // Spediremo eventi, quindi dobbiamo anche importare classi correlate. import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.EventDispatcher;
È inoltre possibile importare tali classi all'interno di 3 righe utilizzando "*" per importare tutte le classi "events" e "net", ma preferisco importarle una per una. Non abbiamo bisogno di tutte le classi "eventi" e "rete". Se preferisci scrivere meno codice, ecco l'equivalente abbreviato.
import flash.events. *; importa flash.net. *; import flash.text.StyleSheet;
Avremo bisogno solo di due variabili in questa classe, un URLLoader e un StyleSheet.
loader var privato: URLLoader; foglio var pubblico: StyleSheet;
A proposito, le variabili private non sono raggiungibili dalle loro classi. Userò "loader" solo nella classe CSS, quindi posso crearlo come privato. Userò "sheet" dalla classe principale, quindi ho bisogno di crearlo come "pubblico" (raggiungibile).
Useremo questa funzione di caricamento dalla nostra classe principale, quindi dobbiamo crearla come pubblica. Richiede una stringa da caricare, che sarà "_req: String"
funzione pubblica load (_req: String): void // function caricherà il file a cui è assegnato il percorso. loader.load (new URLRequest (_req)); // percorso deve essere trasformato in un URLRequest per caricare il file. loader.addEventListener (SecurityErrorEvent.SECURITY_ERROR, secError); // Ascolteremo 3 eventi da trasferire alla classe principale. loader.addEventListener (IOErrorEvent.IO_ERROR, ioError); loader.addEventListener (Event.COMPLETE, caricata);
Nel passaggio 11, abbiamo aggiunto 3 listener di eventi al caricatore, Errore di sicurezza, Errore IO e Completato. Uno di questi verrà inviato alla fine. Quando è successo, dobbiamo trasferirlo alla classe principale ascoltando e spedendo. Dovremmo anche controllare se c'è qualche problema durante l'analisi del file CSS dopo l'evento "Completa". Verificheremo utilizzando "try catch".
funzione privata ioError (e: IOErrorEvent): void // Quando si verifica un errore IO, dispatchEvent (new Event ("CSS_IOError")); // questa riga invia "CSS_IOError". private function secError (e: SecurityErrorEvent): void // Quando c'è un problema di sicurezza, dispatchEvent (new Event ("CSS_SecurityError")); // questa riga invia il "CSS_SecurityError". funzione privata caricata (e: Event): void // Se il caricamento del file è terminato, prova // prova ad analizzarlo. foglio = new StyleSheet (); sheet.parseCSS (loader.data); dispatchEvent (new Event ("CSS_Loaded")); // Se l'analisi è OK, questa riga invia "CSS_Loaded". catch (e: Error) dispatchEvent (new Event ("CSS_ParseError")); // Se l'analisi non è OK, questa riga invia "CSS_ParseError"
Con i gestori di eventi e i dispatcher, la nostra classe CSS è completa. Ecco il file CSS.as completo:
pacchetto keremk import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.events.SecurityErrorEvent; import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.EventDispatcher; la classe pubblica CSS estende EventDispatcher private var loader: URLLoader; foglio var pubblico: StyleSheet; funzione pubblica CSS (): void loader = new URLLoader; public function load (_req: String): void loader.load (new URLRequest (_req)); loader.addEventListener (SecurityErrorEvent.SECURITY_ERROR, secError); loader.addEventListener (IOErrorEvent.IO_ERROR, ioError); loader.addEventListener (Event.COMPLETE, caricata); Funzione privata ioError (e: IOErrorEvent): void dispatchEvent (new Event ("CSS_IOError")); private function secError (e: SecurityErrorEvent): void dispatchEvent (new Event ("CSS_SecurityError")); funzione privata caricata (e: Event): void try sheet = new StyleSheet (); sheet.parseCSS (loader.data); dispatchEvent (new Event ("CSS_Loaded")); catch (e: Error) dispatchEvent (new Event ("CSS_ParseError"));
Inizieremo la nostra classe XMLLoader con "pacchetto keremk " e estenderemo anche "EventDispatcher".
pacchetto keremk // XMLLoader si trova nella cartella keremk. public class XMLLoader estende EventDispatcher public function XMLLoader () loader = new URLLoader; // quando viene creato un XMLLoader, verrà definito un nuovo loader.
Avremo bisogno delle stesse classi come abbiamo fatto per il nostro CSS senza la classe "StyleSheet". Sono come segue:
import flash.events.SecurityErrorEvent; // Classi di eventi da ascoltare e inviare. import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.EventDispatcher; importare flash.net.URLLoader; // classi net per caricare file xml. import flash.net.URLRequest;
Ora avremo bisogno di 5 variabili:
loader var privato: URLLoader; // per caricare i dati var privati dei file XML: XML; // per contenere i dati del file XML per analizzarli. private var i: uint; // counter da utilizzare nell'analisi. private var lenXML: uint; // per verificare quante pagine ci sono in XML. public var pages: Array = []; // per contenere le pagine dopo aver analizzato l'XML.
La funzione "carica" sarà la stessa di "CSS.load". Lo useremo dalla classe principale e dovrebbe essere pubblico.
carico della funzione pubblica (_req: String): void // function caricherà il file per il quale viene fornito il percorso. loader.load (new URLRequest (_req)); // percorso deve essere trasformato in un URLRequest per caricare il file. loader.addEventListener (SecurityErrorEvent.SECURITY_ERROR, secError); // Ascolteremo 3 eventi da trasferire alla classe principale. loader.addEventListener (IOErrorEvent.IO_ERROR, ioError); loader.addEventListener (Event.COMPLETE, caricata);
Abbiamo aggiunto 3 listener di eventi al caricatore, Errore di sicurezza, Errore IO e Completato. Uno di questi verrà inviato alla fine. Quando è successo, dobbiamo trasferirlo alla classe principale ascoltando e spedendo. Dovremmo anche controllare se c'è qualche problema durante l'analisi del file XML dopo l'evento "Completa". Ci possono essere due diversi eventi da inviare: "XML_Loaded" o "XML_ParseError". Verificheremo utilizzando "try catch".
funzione privata ioError (e: IOErrorEvent): void // Quando si verifica un errore IO, dispatchEvent (new Event ("XML_IOError")); // questa riga invia "XML_IOError". private function secError (e: SecurityErrorEvent): void // Quando c'è un problema di sicurezza, dispatchEvent (new Event ("XML_SecurityError")); // questa riga invia "XML_SecurityError". funzione privata caricata (e: Event): void // Se il caricamento del file è terminato, prova // prova ad analizzarlo. data = new XML (loader.data); // porta i dati XML in "data" lenXML = data.children (). length (); // controlla il numero delle pagine per (i = 0; i < lenXML; i++) //parses XML data to array pages.push(data.children()[i]); dispatchEvent(new Event("XML_Loaded"));//if parsing the XML is OK, dispatch "XML_Loaded". catch (e:Error) dispatchEvent(new Event("XML_ParseError"));//if something is wrong with XML data, this line dispatches "XML_ParseError".
Con i gestori e i dispatcher, la nostra classe XMLLoader è terminata. Ecco l'XMLLoader finito:
pacchetto keremk import flash.events.SecurityErrorEvent; import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.EventDispatcher; import flash.net.URLLoader; import flash.net.URLRequest; public class XMLLoader estende EventDispatcher private var loader: URLLoader; dati var privati: XML; private var i: uint; private var lenXML: uint; public var pages: Array = []; funzione pubblica XMLLoader () loader = new URLLoader; public function load (_req: String): void loader.load (new URLRequest (_req)); loader.addEventListener (SecurityErrorEvent.SECURITY_ERROR, secError); loader.addEventListener (IOErrorEvent.IO_ERROR, ioError); loader.addEventListener (Event.COMPLETE, caricata); Funzione privata ioError (e: Event): void dispatchEvent (new Event ("XML_IOError")); private function secError (e: Event): void dispatchEvent (new Event ("XML_SecurityError")); funzione privata caricata (e: Event): void try data = new XML (loader.data); lenXML = data.children (). length (); per (i = 0; i < lenXML; i++) pages.push(data.children()[i]); dispatchEvent(new Event("XML_Loaded")); catch (e:Error) dispatchEvent(new Event("XML_ParseError"));
Poiché la classe Main sarà nella cartella root del nostro progetto, inizieremo a scriverla con "pacchetto ". Estenderà "sprite" e inizieremo il nostro codice nella funzione "Main":
pacchetto // entry point per le importazioni. public class Main estende Sprite // entry point per vars. funzione pubblica Main (): void // entry point per i codici. // punto di ingresso per funzioni aggiuntive.
import flash.display.Sprite; // La classe principale estenderà "Sprite". Quindi, avremo bisogno della classe "Sprite". import flash.display.StageAlign; // Avremo bisogno di "StageAlign" per allineare lo stage. import flash.display.StageScaleMode; // Avremo bisogno di "StageScaleMode" per gestire la modalità di scala dello stage. import flash.events.Event; // Avremo bisogno della classe "Event" per usare gli eventi che abbiamo creato nelle classi "XMLLoader" e "CSS". import flash.events.TextEvent; // Avremo bisogno di "TextEvent" per utilizzare i collegamenti alle pagine in "htmlText". import flash.text.TextField; // Creeremo un "TextField" per mostrare le pagine html e aggiungeremo il nostro css ad esso con "TextFormat" import flash.text.TextFormat; import keremk.CSS; // E in quella classe "Main", useremo le nostre classi "CSS" e "XMLloader" che abbiamo creato in precedenza. import keremk.XMLLoader;
private var xml: XMLLoader; // questo conserverà i nostri dati XML private var css: CSS; // questo manterrà il nostro campo var di dati StyleSheet private: TextField; // lo useremo per mostrare le nostre pagine html private var cssBool: Boolean = false; // questi due booleani ci diranno se i nostri file CSS e XML sono caricati private var xmlBool: Boolean = false; private var stgW: Number = stage.stageWidth; // questi due controlleranno l'altezza e la larghezza dello stage. private var stgH: Number = stage.stageHeight; // in questo modo possiamo modificare la larghezza e l'altezza della nostra HtmlBox dal file html. private var pageNum: int = 0; // questo definirà la pagina che mostreremo in HtmlBox. (Poiché l'indice dell'array inizia da 0, pageNum è 0) private var boxBorder: Sprite; // questo sarà il bordo del nostro HtmlBox. Possiamo abilitare il bordo di TextField ma in questo modo possiamo gestire i margini.
La funzione principale verrà eseguita automaticamente all'avvio di HtmlBox. Pertanto, abbiamo bisogno di scrivere i nostri codici di avviamento in questa funzione.
funzione pubblica Main (): void stage.align = StageAlign.TOP_LEFT; // Queste due righe sono facoltative. Preferirei mantenere lo stage allineato in alto a sinistra e non scalato. stage.scaleMode = StageScaleMode.NO_SCALE; boxBorder = new Sprite (); // Questo è il nostro bordo di htmlbox. Fondamentalmente, è un rettangolo vuoto. E creeremo un nuovo Sprite per disegnarlo. boxBorder.graphics.lineStyle (2, 0xC0C0C0, 1); // thicknes = 2px, colore = 0xC0C0C0 (grigio), alfa = 1 (100%). Puoi cambiare questi valori come preferisci. boxBorder.graphics.drawRect (5, 5, stgW - 10, stgH - 10); // margin = 5. E 'la distanza tra confine e livello stadio. addChild (boxBorder); // dopo aver creato e disegnato il nostro bordo, dobbiamo aggiungerlo allo stage. field = new TextField (); // Creeremo un nuovo TextField per mostrare le pagine html. addChild (campo); // poiché ci sono molte proprietà da definire, prima aggiungeremo il campo allo stage. con (campo) // dopo aver aggiunto il "campo" allo stage, possiamo usare "con" per definirne le proprietà. x = 10; // Ho definito x e y come 10 per creare uno spazio di 5px tra il campo e il bordo. y = 10; width = stgW-20; // And width dovrebbe essere stgW-20. Perché, se vogliamo fare una distanza di 10px tra il campo e lo stage, la larghezza del campo deve essere 20px (10px da sinistra + 10px da destra) più corta della larghezza dello stage. height = stgH-20; // E dovremmo calcolare l'altezza come la larghezza. multiline = true; // Field deve essere multilinea. Perché i nostri testi html sono multilinea. selectable = false; // Se vuoi rendere il testo selezionabile, puoi cambiarlo in "true". wordWrap = true; // Senza "wordWrap" i nostri paragrafi saranno linee singole. condenseWhite = true; // Questa è una proprietà importante che rende il nostro testo un aspetto migliore. Senza questo, ci saranno più spazi in tutto il htmltext. // Dopo aver creato il nostro confine e il nostro campo di testo, possiamo caricare i nostri file. xml = new XMLLoader (); // Creeremo un nuovo XMLLoader xml.load ("source.xml"); // e caricheranno il nostro file XML. // Abbiamo bisogno di ascoltare gli eventi per sapere cosa fare dopo. xml.addEventListener ("XML_Loaded", xmlDone); // Se acquisiamo "XML_Loaded", continueremo a creare HtmlBox. xml.addEventListener ("XML_IOError", errore); // Creerò solo una funzione per tutti gli errori. xml.addEventListener ("XML_SecurityError", error); // Quindi, tutti gli eventi di errore andranno a questa funzione "error" xml.addEventListener ("XML_ParseError", error); css = new CSS (); // Creeremo un nuovo CSS css.load ("styles.css"); // e caricheremo il nostro file CSS. // gli eventi css sono praticamente gli stessi con gli eventi xml. css.addEventListener ("CSS_Loaded", cssDone); // Se acquisiamo "CSS_Loaded", continueremo a creare HtmlBox. css.addEventListener ("CSS_IOError", error); // Anche tutti gli eventi di errore passano alla funzione "error". css.addEventListener ("CSS_SecurityError", errore); css.addEventListener ("CSS_ParseError", errore);
Dal momento che tutti gli errori passano alla funzione "errore", dobbiamo organizzarli con "switch case". Controlleremo quale errore si è verificato e scriviamo il testo richiesto su "campo". In questo passaggio, mostrerò solo due errori. Vedrai tutti gli errori nella classe principale finita al punto 25
errore di funzione privata (e: Event): void switch (e.type) // Verificheremo il tipo di errore che si è verificato nel caso "XML_IOError": // Se l'errore è "XML_IOError", scriveremo il testo richiesto su "XML_IOError" su "campo". field.htmlText = ''break; // Se l'errore è "XML_IOError", interromperà l'operazione e interromperà il "caso switch". caso "XML_SecurityError": field.htmlText = '
ERRORE XML IO
Per favore controlla il tuo percorso XML!' rompere;
XML SECURITY ERROR
Si prega di controllare i file delle politiche!
Creeremo tre funzioni "Fatto". "xmlDone", "cssDone" e "allDone". "xmlDone" e "cssDone" verranno eseguiti dopo che i nostri file sono stati caricati correttamente e informeranno "allDone". Quando i file css e xml vengono caricati correttamente, "allDone" aggiunge lo StyleSheet al "campo" e scrive la prima pagina.
funzione privata cssDone (e: Event): void cssBool = true; // Creeremo cssBool "true". Perché il file CSS è stato caricato con successo. allDone (); // Ed esegue allDone. private function xmlDone (e: Event): void xmlBool = true; // Creeremo xmlBool "true". Perché il file XML è stato caricato correttamente. allDone (); // Ed esegue allDone. funzione privata allDone (): void if (cssBool && xmlBool) // se i file css e xml vengono caricati correttamente, field.styleSheet = css.sheet; // imposteremo i nostri stili su "field". field.htmlText = xml.pages [pageNum]; // scriveremo la prima pagina sul campo. addEventListener (TextEvent.LINK, textEvent); // E aggiungeremo listener di eventi per eventi di collegamento che verranno inviati da htmlText.
In questa funzione, controlleremo i testi degli eventi "next" e "prev".
funzione privata textEvent (e: TextEvent): void if (e.text == "next") // Se viene cliccato il link "next", ++ pageNum; // aumenteremo la paginaNum field.htmlText = xml .pages [pageNum]; // e scrive la nuova pagina in "campo". if (e.text == "prev") // Se si fa clic sul collegamento "prev", --pageNum; // si riduce la paginaNum field.htmlText = xml.pages [pageNum]; // e scrivi la nuova pagina a "campo".
Ecco la classe principale finita:
pacchetto import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.TextEvent; import flash.text.TextField; import flash.text.TextFormat; import keremk.CSS; import keremk.XMLLoader; public class Main estende Sprite private var xml: XMLLoader; private var css: CSS; campo var privato: TextField; private var cssBool: Boolean = false; private var xmlBool: Boolean = false; private var stgW: Number = stage.stageWidth; private var stgH: Number = stage.stageHeight; private var pageNum: int = 0; private var boxBorder: Sprite; funzione pubblica Main (): void stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; boxBorder = new Sprite (); boxBorder.graphics.lineStyle (2, 0xC0C0C0, 1); boxBorder.graphics.drawRect (5, 5, stgW - 10, stgH - 10); addChild (boxBorder); field = new TextField (); addChild (campo); con (campo) x = 10; y = 10; larghezza = stgW-20; altezza = stgH-20; multiline = true; selezionabile = falso; wordWrap = true; condenseWhite = true; xml = new XMLLoader (); XML.load ( "source.xml"); xml.addEventListener ("XML_Loaded", xmlDone); xml.addEventListener ("XML_IOError", errore); xml.addEventListener ("XML_SecurityError", errore); xml.addEventListener ("XML_ParseError", errore); css = new CSS (); css.load ( "styles.css"); css.addEventListener ("CSS_Loaded", cssDone); css.addEventListener ("CSS_IOError", errore); css.addEventListener ("CSS_SecurityError", errore); css.addEventListener ("CSS_ParseError", errore); errore di funzione privata (e: Event): void switch (e.type) case "XML_IOError": field.htmlText = '' rompere; caso "XML_SecurityError": field.htmlText = '
ERRORE XML IO
Per favore controlla il tuo percorso XML!' rompere; case "XML_ParseError": field.htmlText = '
XML SECURITY ERROR
Si prega di controllare i file delle politiche!' rompere; case "CSS_IOError": field.htmlTextText = '
XML ERRORE PARSE
Si prega di eseguire il debug del file XML!' rompere; case "CSS_SecurityError": field.htmlText = '
ERRORE CSS IO
Per favore controlla il tuo percorso CSS!' rompere; case "CSS_ParseError": field.htmlText = '
ERRORE DI SICUREZZA CSS
Si prega di controllare i file delle politiche!' rompere; funzione privata cssDone (e: Event): void cssBool = true; tutto fatto(); private function xmlDone (e: Event): void xmlBool = true; tutto fatto(); funzione privata allDone (): void if (cssBool && xmlBool) field.styleSheet = css.sheet; field.htmlText = xml.pages [pageNum]; addEventListener (TextEvent.LINK, textEvent); funzione privata textEvent (e: TextEvent): void if (e.text == "next") ++ pageNum; field.htmlText = xml.pages [pageNum]; if (e.text == "prev") --pageNum; field.htmlText = xml.pages [pageNum];
Errore CSS PARSE
Si prega di eseguire il debug del file CSS!
Abbiamo finito di scrivere il nostro codice, ora è il momento di compilarlo. Se hai creato il tuo progetto in FlashDevelop, devi solo premere "F5" per controllarlo e "F8" per costruire il progetto. Prima di ciò, potresti voler modificare le impostazioni di output. Per farlo, vai su Progetto> Proprietà ...
Nel pannello delle proprietà, puoi modificare:
Dopo l'operazione "Crea progetto", puoi usare htmlBox dalla cartella bin. Se stai pianificando di spostarlo in un'altra cartella, devi spostare i file "htmlBox.swf", "source.xml" e "styles.css" nella stessa cartella. Se stai pianificando di usare "index.html" avrai bisogno dell'intera directory "bin". Per impostazione predefinita, le dimensioni di htmlBox saranno al 100% in "index.html". Puoi cambiarlo in "swfobject.embedSWF ();" funzione in "index.html".
Se si utilizza Flash CS3 o CS4, aprire il file "htmlBox.fla". Nella finestra delle proprietà, scrivi "Main" nella casella "Class". Puoi anche cambiare "Frame rate", "Size" e "Background color" di htmlBox nella finestra delle proprietà.
Dopo aver definito la "Document class", puoi testarla premendo "Ctrl + Invio" e pubblicandola premendo "Ctrl + F12". Se desideri modificare le impostazioni di pubblicazione (come la versione), puoi aprire le impostazioni di pubblicazione premendo "Ctrl + Maiusc + F12" o andando su File> Impostazioni pubblicazione ...
Di nuovo, se stai pianificando di spostarlo in un'altra cartella, devi spostare i file "htmlBox.swf", "source.xml" e "styles.css" nella stessa cartella. Se stai pianificand