- content=<h1>Airbus A380</h1>
- <p><img src="http://www.masputih.com/files/A380.jpg" /><span class="dropcaps">T</span>he <b><i>Airbus A380</i></b> is a <a href="http://www.answers.com/topic/double-decker">double-deck</a>, four-engined <a href="http://www.answers.com/topic/jet-airliner">airliner</a> manufactured by <a href="http://www.answers.com/topic/eads-5">EADS</a> <a href="http://www.answers.com/topic/airbus">(Airbus S.A.S.)</a>. It is the largest passenger airliner in the world. It first flew on 27 April 2005 from Toulouse, France. After lengthy delays, commercial flights are scheduled to begin in late 2007. During much of its development phase, the aircraft was known as the <b><i>Airbus A3XX</i></b>. The nickname <b><i>Superjumbo</i></b> has become associated with the A380.</p>
- <p>The A380's upper deck extends along the entire length of the fuselage. This allows for a cabin with 50% more floor space than the next largest airliner, the Boeing 747-400, and provides seating for 525 people in standard three-class configuration or up to 853 people in full economy class configuration.</p>
Flash, CSS & Teks Eksternal
Seperti kita tahu, dengan menggunakan objek LoadVars, kita bisa memuat konten eksternal ke dalam aplikasi Flash. Jika konten ini menggunakan tag, baik berupa XML maupun HTML, kita bisa menggunakan CSS untuk mengatur tampilannya. Dalam tutorial ini akan saya tunjukkan caranya.
.fla
Pertama, kita buat sebuah .fla dengan ukuran 400 × 400. Pada Stage kita buat sebuah dynamic textfield dengan instance name content_txt.
Kita menulis skrip di dalam sebuah file .as tersendiri yang berisi definisi class bernama CSSTest dan dalam file .fla hanya ada 2 baris skrip berikut:
- import CSSTest;
- var ct:CSSTest = new CSSTest(this,"content.txt","styles.css");
Konten yang kita muat disini adalah sebuah file .txt berisi sebuah variabel bernama content yang berupa teks dengan tag html.
“content.txt” adalah file teks yang akan kita tampilkan di textfield, “style.css” untuk mengatur tampilan teks.
- h1 {
- color: #7F0908;
- font-family: Arial,Helvetica,sans-serif;
- font-size: 25px;
- font-weight: bold;
- }
- p {
- color: #461413;
- font-family: Arial,Helvetica,sans-serif;
- font-size: 12px;
- text-align:justify;
- }
- a:link {
- color: #AC312F;
- text-decoration: underline;
- }
- a:hover{
- color:#00366A;
- }
- .dropcaps{
- font-size:20px;
- font-weight:bold;
- }
Class CSSTest
Ok, sekarang kita buat file .as kita simpan dengan nama CSSTest.as. Pada bagian paling atas class ini, kita mengimpor class mx.utils.Delegate . Untuk apa class ini? hmm … nanti kita lihat.
O ya, class ini yang akan “menjalankan” aplikasi.
Pertama kita perlu melakukan inisialisasi aplikasi ini melalui constructor (ctor). Karena kita ingin class ini bisa memuat file .txt dan .css eksternal yang ditentukan di dalam .fla, maka ctor harus memiliki parameter untuk menerima url dari file .txt dan .css tersebut. Untuk itu kita buat dua variabel bertipe String masing-masing kita beri mana nama cp untuk konten dan cssp untuk .css . Dan juga sebuah variabel lain bertipe MovieClip dengan nama target untuk menampung reference ke _root timeline. Kita buat juga 4 buah instance variables yaitu:
- _app : referensi ke Stage
- _lv : referensi ke LoadVars objek
- _content : referensi ke TextField yang ada di Stage
- _css : referensi ke objek TextField.StyleSheet
Class CSSTest seperti berikut :
- import mx.utils.Delegate;
- class CSSTest{
- private var _app:MovieClip;
- private var _lv:LoadVars;
- private var _content:TextField;
- private var _css:TextField.StyleSheet;
- function CSSTest(target:MovieClip, cp:String,cssp:String){
- _app = target;
- /*content_txt adalah nama instance
- dynamic textfield yang ada di Stage*/
- _content = _app.content_txt;
- _content.html = true;
- }
- }
Memuat .css & .txt
Langkah selanjutnya adalah membuat method untuk memuat .css dan .txt. Method ini nanti dipanggil secara berurutan, method untuk memuat .css harus dipanggil terlebih dahulu.
- function loadCSS(cssp:String){
- _css = new TextField.StyleSheet();
- _css.load(cssp);
- _css.onLoad = function(){}
- }
- function loadContent(cp:String){
- _lv = new LoadVars();
- _lv.load(cp);
- _lv.onLoad = function(){}
- }
Sebaiknya kita menghindari penggunaan Anonymous callback , jadi kita gunakan Delegate untuk “memindahkan” scope onLoad callback dari _css dan _lv ke class instance. Kedua onLoad callback kita ubah menjadi seperti berikut:
- function loadCSS(cssp:String){
- ...
- _css.onLoad = Delegate.create(this,onCSSLoaded);
- }
- function loadContent(cp:String){
- ...
- _lv.onLoad = Delegate.create(this,onContentLoaded);
- }
Karena menggunakan Delegate, kita membutuhkan 2 method lagi untuk menghandel onLoad event.
- function onCSSLoaded(ok:Boolean){
- if(ok){
- _content.styleSheet = _css;
- }
- }
- function onContentLoaded(ok:Boolean){
- if(ok){
- _content.htmlText = _lv.content;
- }
- }
Class CSSTest selengkapnya adalah sebagai berikut.
- import mx.utils.Delegate;
- class CSSTest {
- private var _app:MovieClip;
- private var _lv:LoadVars;
- private var _content:TextField;
- private var _css:TextField.StyleSheet;
- function CSSTest(target:MovieClip, cp:String, cssp:String) {
- _app = target;
- _content = target.content_txt;
- _content.html = true;
- loadCSS(cssp);
- loadContent(cp);
- }
- function loadCSS(cssp:String) {
- _css = new TextField.StyleSheet();
- _css.load(cssp);
- _css.onLoad = Delegate.create(this, onCSSLoaded);
- }
- function onCSSLoaded(ok:Boolean) {
- if (ok) {
- _content.styleSheet = _css;
- }
- }
- function loadContent(cp:String) {
- _lv = new LoadVars();
- _lv.load(cp);
- _lv.onLoad = Delegate.create(this, onContentLoaded);
- }
- function onContentLoaded(ok:Boolean) {
- if (ok) {
- _content.htmlText = _lv.content;
- }
- }
- }
Test Movie
Demikian, semoga bermanfaat.
Source code bisa didonlod di sini : FlashCSSTxt.tgz
Comments [3]
1. emil , 1093 days ago #
q masih gak ngerti yg bwt CSS & Text
2. anggie bratadinata (author) , 1093 days ago #
@emil:
Bagian yg mana ? CSSnya kan sama dgn css biasa yg buat styling html. Textnya juga pake tag html.
3. yuda , 846 days ago #
tiap browswer belum tentu seragam nampilin css, pengalaman mas sendiri mesti gimana, maksudnya,, contoh OPACITY, di IE sama OPERA beda transparansinya,,(saya udah tes )mohon petunjuknya
Commenting is closed for this article.