Kontrol izin. Pemrograman di Macromedia Flash

Artikel terakhir dikhususkan untuk animasi. Kami membuat animasi berdasarkan motion tweening, shape tweening, dan sekadar menyusun gerakan dari frame individual. Saya pikir ini saatnya untuk beralih ke topik yang lebih maju, melihat alat yang menjadi dasar bagi sebagian besar film Flash berkualitas.

Alat ini adalah ActionScript, bahasa berbasis peristiwa yang ada di dalam Flash. ActionScript versi terbaru (yang hadir di Flash 5) sangat berbeda dengan ActionScript yang ada di Flash 4. Jika di versi sebelumnya itu adalah serangkaian perintah terbatas, hanya mengizinkan tindakan dasar, dan dimasukkan menggunakan antarmuka yang tidak terlalu ramah pengguna, maka ActionScript baru adalah bahasa yang kuat, dengan serangkaian perintah yang lebih banyak, dukungan untuk kelas, pewarisan (!), dan antarmuka yang jauh lebih nyaman.

ActionScript membuat halaman Anda interaktif. Anda dapat bereaksi terhadap peristiwa dari mouse atau keyboard, dan Anda dapat melakukan tindakan apa pun saat memutar frame tertentu.

Untuk menguasai ActionScript sepenuhnya, disarankan untuk sudah memiliki pengalaman pemrograman (lebih disukai dalam C++, JavaScript, dll.). Namun, salah satu kelebihan bahasa Flash adalah Anda tidak perlu menjadi seorang profesional Flash, atau sepenuhnya memahami ActionScript, untuk menulis kode berkualitas di dalamnya. Anda dapat menggunakan fitur bahasa yang Anda anggap perlu untuk pekerjaan Anda.

Karena artikel ini membahas dasar-dasar bahasa, di dalamnya kita akan membahas:

  • Panel Actions adalah tempat terjadinya hampir semua komunikasi dengan ActionScript.
  • Tombol - cara membuatnya berfungsi sesuai kebutuhan.
  • Jalur - bagaimana cara mengakses objek yang diperlukan?
  • Tindakan dasar dengan kartun Flash (klip film) - kami akan mengontrol proses pemutaran film sesuka kami.
  • Debugging di ActionScript - Jendela Output dan Debugger.

Tujuan artikel ini adalah memberi Anda gambaran tentang ActionScript, untuk menunjukkan bahwa bahasa ini dapat digunakan baik untuk membuat program yang sangat mengesankan maupun untuk melakukan tindakan dasar yang akan membuat halaman Anda jauh lebih menarik.

Ketentuan

Sebelum kita masuk ke tindakan spesifik, beberapa istilah ActionScript:

  • Tindakan- ini adalah instruksi yang memberi tahu kartun Flash apa yang harus dilakukan. Dari mereka muncullah nama bahasanya - ActionScript (secara harfiah - skrip tindakan). Mari kita sepakat bahwa dalam kerangka artikel ini, kita akan menggunakan istilah “instruksi” agar tidak tertukar dengan tindakan sebenarnya yang akan kita lakukan.
  • Acara- ini adalah tindakan yang terjadi saat kartun diputar. Event, misalnya, bisa terjadi saat pemuatan frame tertentu berakhir, saat kita mencapai frame tertentu, saat pengguna menekan tombol pada keyboard, atau kursor mouse berada di atas objek kita.
  • Ekspresi adalah bagian mana pun dari instruksi yang menghasilkan suatu nilai. Contoh berikut adalah ekspresi: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * acak(10).
  • Fungsi adalah blok kode yang dapat digunakan kembali. Anda dapat meneruskan nilai ke suatu fungsi dan menerima hasil pengembalian darinya. Misalnya, angka = get_color(15, 24). 15 dan 24 adalah argumen (atau parameter) ke fungsi get_color, yang nilai kembaliannya ditulis ke variabel angka.
  • Kelas adalah jenis objek. Misalnya kelas pohon adalah tumbuhan. Flash memiliki sejumlah kelas yang telah ditentukan sebelumnya (seperti kelas JavaScript). Anda dapat membuat kelas Anda sendiri atau memodifikasi kelas yang sudah ada.
  • Contoh secara harfiah adalah turunan dari kelas tertentu. Misalnya, contoh tumbuhan dapat berupa pohon, semak, atau bunga. Sebuah instance sudah menjadi objek nyata yang spesifik. Jika suatu kelas merupakan definisi dari suatu objek (instance), maka suatu instance sudah merupakan perwujudan konkrit, yaitu kelas yang beraksi. Setiap instance dapat diberi nama sehingga fungsi atau variabel objek dapat diakses melaluinya.
  • Penangan adalah instruksi khusus yang memproses peristiwa. Misalnya diClipEvent- pengendali tindakan yang terkait dengan simbol tertentu (lihat).
  • Operator adalah elemen bahasa yang menghitung nilai berdasarkan satu atau lebih argumen. Misalnya, operator penjumlahan (+) mengembalikan jumlah dua nilai di kiri dan kanannya.
  • Variabel adalah pengidentifikasi yang dapat menyimpan nilai. Misalnya, a = 5; atau nama = "Michael".

Ini adalah istilah yang akan kita gunakan ketika membahas ActionScript.

Jadi…

Bilah tindakan digunakan untuk menampilkan dan memasukkan program ActionScript (Gbr. 1). Ada dua mode bekerja dengan panel - normal (untuk boneka) dan ahli. Dalam mode ahli, daftar perintah adalah kolom input teks sederhana. Dalam mode normal, kita tidak bisa langsung mengedit perintah. Untuk melakukan ini, gunakan panel opsi.

Anda dapat menambahkan instruksi dengan mengklik tombol “+” (lihat Gambar 1) atau dengan memilih instruksi yang sesuai dalam daftar elemen bahasa. Selain itu, untuk semua tindakan di Flash terdapat urutan kunci yang dapat digunakan untuk melakukan ini lebih cepat. Tindakan tersebut ditampilkan di sebelah kanan setiap tindakan di menu tombol "+". Misalnya untuk menambahkan fungsi berhenti(), Anda perlu menekan Esc+st (berurutan: Esc, lalu “s”, lalu “t”).

Anda dapat menghapus instruksi dengan memilihnya dan menekan tombol "-" (atau cukup tombol Delete).

Saya menyarankan Anda untuk tidak segera mulai menggunakan mode ahli jika Anda tidak memiliki pengalaman pemrograman dalam bahasa mirip Java (C++, Java, JavaScript). Mode normal memiliki keuntungan besar sehingga sangat diperlukan bagi pemula - kemungkinan membuat kesalahan dengan sintaks bahasa jauh lebih kecil. Ini akan membantu pemula dengan cepat memahami seluk-beluk ActionScript.


Beras. 1 - Bilah tindakan

Panel tindakan menampilkan tindakan objek atau bingkai yang dipilih saat ini.

Tombol

Hal pertama yang Anda inginkan saat mulai mempelajari interaktivitas Flash adalah membuat sesuatu yang merespons tindakan pengguna, untuk “menghidupkan kembali” kreasi Anda, untuk menambahkan umpan balik. Cara termudah untuk melakukannya adalah dengan tombol. Oleh karena itu, kita akan mulai dengan mereka.

Seperti yang Anda ketahui, di Flash ada jenis simbol khusus untuk membuat tombol - Tombol (lihat). Anggaplah Anda telah mempelajari cara membuat tombol, sekarang mari pelajari cara melacak klik pada tombol tersebut.

Tombol-tombol di Macromedia Flash memiliki daftar lengkap peristiwa yang dapat kami tanggapi:

  • tekan- tombol mouse ditekan ketika kursor berada di dalam tombol;
  • melepaskan- tombol mouse dilepaskan saat kursor berada di dalam tombol;
  • rilis di luar- tombol mouse dilepaskan ketika kursor berada di luar tombol;
  • terguling- kursor mouse memasuki tombol;
  • peluncuran- kursor melampaui tombol;
  • seret- kursor memasuki batas tombol, saat tombol ditekan dan tombol mouse ditekan;
  • menyeret keluar- kursor melampaui tombol, sementara tombol ditekan dan tombol mouse ditekan;
  • tekan tombol("kunci") - "kunci" ditekan. Anda dapat melihat daftar kunci dalam bantuan Flash (Objek kunci), atau menggunakan bilah opsi untuk memasukkan kunci yang diinginkan.

Sayangnya, Flash hanya "mengerti" tombol kiri mouse. Yang kanan digunakan untuk memanggil menu konteks (klik kanan pada beberapa kartun Flash). Saya belum menemukan cara untuk menangkap tombol tengah atau roda mouse di Flash; menurut saya itu tidak ada.

Peristiwa ini dicegat menggunakan arahan pada().

Sintaksnya adalah:

Pada (acara) (... // Tindakan kita)

Di bawah ini Anda dapat mencoba memicu sendiri beberapa peristiwa:

Contoh yang sangat umum digunakan adalah mengikuti tautan ketika sebuah tombol diklik:

Pada (rilis) ( getURL("http://rubs.boom.ru"); )

Untuk menguji skenario ini, sorot tombol Anda, tekan Ctrl+Alt+A dan masuk ke program.

Ini adalah bagaimana Anda dapat dengan mudah mencegat semua peristiwa yang terkait dengan sebuah tombol. Nah, cara menggunakannya sepenuhnya bergantung pada imajinasi Anda.

Langkah-langkah dasar dengan Klip Video

Sejumlah besar kreativitas di Flash berasal dari manipulasi simbol. Hampir semua teknik dasar, semua trik dan efek tidak mungkin terjadi tanpa tindakan ini.

Dengan ActionScript, Anda dapat melakukan hampir semua hal yang Anda inginkan dengan karakter. Anda hanya perlu mengingat bahwa tindakan ini hanya dapat dilakukan sebagai respons terhadap tindakan pengguna, atau saat frame tertentu muncul di timeline.

Jadi apa yang kita punya? Saya hanya akan mencantumkan alat utama (menurut saya). Sisanya dapat Anda temukan di daftar elemen bahasa atau di bantuan.

  • Fungsi klip video yang dapat dipanggil: bermain()
  • berhenti() - memulai atau melanjutkan pemutaran klip;
  • - menghentikan pemutaran klip; gotoAndPlay()
  • - pergi ke bingkai (adegan) tertentu dan melanjutkan pemutaran; gotoAndStop()

- pergi ke bingkai (adegan) tertentu dan menghentikan pemutaran.

  • Properti (parameter) klip yang dapat dibaca/diubah: _x, _y
  • - koordinat klip (dalam piksel); _xskala, _yskala
  • - skala klip (dalam persentase), masing-masing secara horizontal dan vertikal; _lebar tinggi
  • - lebar dan tinggi klip (dalam piksel); _rotasi
  • - sudut rotasi klip (dalam derajat); _alfa
  • - transparansi klip (dalam persen); _bisa dilihat

- visibilitas.

Bukan hanya itu yang bisa dilakukan dengan klip. Gunakan parameter lain, bereksperimen, jadilah kreatif!

Untuk mengakses klip, kita perlu memahami konsep nama objek (nama instance) dan jalur ke suatu objek (jalur target). Mari kita sepakati bahwa klip video dan objeknya adalah hal yang sama bagi kita.

Nama objek adalah nama contoh simbol tertentu.

Katakanlah kita dapat memiliki simbol - mobil, dan contoh simbol ini akan disebut "Mesin1", "Mesin2", "Pickup", "Zaporozhets" ...


Untuk memberi nama pada suatu objek, Anda perlu memilih objek tersebut, dan di panel Instance (Window->Panels->Instance, Ctrl+I) di kolom Name, masukkan nama objek (Gbr. 2 ). Nama hanya boleh terdiri dari huruf, angka, dan karakter garis bawah (“_”), dan nama tidak boleh diawali dengan angka.

Beras. 2 - Panel instans

jalan

Jalur menuju suatu objek adalah catatan nama objek tersebut, dengan mempertimbangkan hierarkinya.

Saya akan mencoba menjelaskan apa itu.

Anda tahu bahwa di Flash, objek dapat disarangkan satu sama lain, sehingga membentuk hierarki. Jadi, penyarangan ini tidak hanya memberikan kemudahan dalam menangani objek, tetapi juga membatasi visibilitas nama objek. Visibilitas terbatas pada levelnya. Suatu objek dapat secara langsung (berdasarkan nama) hanya mengakses objek di dalamnya yang satu tingkat lebih rendah dalam hierarki.

Untuk mengakses suatu objek di level lain, Anda perlu mengetahui jalur menuju objek tersebut. Selain itu, jalur dapat ditentukan secara absolut (dari tingkat paling atas hierarki) atau relatif (dari tingkat saat ini). Jalur ini mencakup objek-objek yang melaluinya kita perlu “melewati” sepanjang pohon hierarki untuk sampai ke objek yang kita perlukan, yang dicantumkan melalui sebuah titik. Selain itu, ada beberapa petunjuk (kita mungkin menyebutnya "objek virtual") yang seringkali sangat berguna:

ini - penunjuk ke "dirinya sendiri" (yaitu, ke objek saat ini). Ini mungkin diperlukan, misalnya, ketika Anda perlu meneruskan pointer ke objek tempat fungsi ini dipanggil ke suatu fungsi.

_induk - penunjuk ke "induk". Menunjuk ke objek pada tingkat yang lebih tinggi dalam hierarki.

_akar

- "akar". Ini adalah awal dari hierarki. Anda tidak dapat melakukannya tanpanya saat menentukan jalur absolut. Jalurnya terlihat seperti ini: daun.bermain();- pada subjek daun

(daun) fungsi dipanggil bermain(); _parent.tree.leaf.stop();- diasumsikan ada suatu benda pada satu tingkat daun.bermain(); pohon, yang mempunyai suatu benda

, dari mana fungsi tersebut dipanggil berhenti(); _root.banner._visible = salah;- buat klip



spanduk

Sebagai ilustrasi, mari kita ambil hierarki 5 objek (Gbr. 3). Objek 1-4 berada pada layer 1, objek 5 berada pada layer 2. Objek 2 bertumpu pada objek 1, dan objek 3 bertumpu pada objek 2. Objek dalam gambar secara visual bertumpuk satu sama lain, namun hal ini tidak berarti bahwa hal ini harus terjadi “dalam kehidupan nyata”. Di sini mereka dikelompokkan untuk kejelasan. Karena nama suatu benda tidak boleh diawali dengan angka, maka biarlah benda kita diberi nama obj1-obj5.

Sekarang mari kita bahas jalannya. Pertama, mari kita lihat objek mana yang bisa merujuk satu sama lain berdasarkan namanya. keberatan1 dapat menghubungi keberatan2, A keberatan2- Ke keberatan3, tetapi pada saat yang sama keberatan1 tidak dapat menghubungi keberatan3 secara langsung, karena itu tidak terkandung di dalamnya keberatan1, dan di keberatan2.

Katakanlah objek pertama membutuhkan objek 3 untuk mulai diputar lagi dari frame pertama. Begini cara melakukannya:

Obj2.obj3.gotoAndPlay(1);

Agar objek ke-4 membuat objek ke-1 (catatan dengan semua subobjek!) menjadi semi-transparan, ia perlu menulis yang berikut ini dalam skripnya:

Induk.obj1._alpha = 50;

Root.obj1._alpha = 50;

Karena keberatan4 berada di tingkat pertama hierarki, lalu di belakangnya _induk Dan ini- satu dan sama.

Sekarang untuk objek 3 kita akan menulis script yang akan membuat objek 5 tidak terlihat ketika tombol mouse ditekan. Dalam skrip untuk objek 3 kita menulis:

OnClipEvent (mouseDown) ( _root.obj5._visible = salah; )

Dalam cuplikan ini kami menggunakan jalur absolut. Jika kita menggunakan relative akan terlihat seperti ini:

Parent._parent._parent.obj5._visible = salah;

Saya harap saya menyelesaikan masalah jalur.

Contoh di atas tidak hanya menunjukkan seperti apa jalurnya, tetapi juga bagaimana fungsi dipanggil dan nilai properti ditetapkan.

Sejauh ini, kami telah melihat film Flash yang diputar tanpa campur tangan penonton dari awal hingga akhir. Namun, Flash juga memungkinkan Anda membuat aplikasi interaktif di mana pengguna dapat mengontrol tampilan konten. Dalam pelajaran ini, kita akan mulai mengeksplorasi elemen bahasa skrip Action Script dan melihat bagaimana bahasa tersebut dapat digunakan untuk membuat aplikasi interaktif.

Sebagai contoh, mari buat album foto dengan elemen antarmuka interaktif.

Tombolnya adalah klip video interaktif empat bingkai. Saat kita memberi simbol tipe Tombol, Flash membuat garis waktu empat bingkai untuk simbol baru:

Up-state adalah bingkai yang sesuai dengan situasi ketika tombol tidak ditekan dan penunjuk tetikus tidak terletak di atas tombol;

Bingkai over-state yang mengilustrasikan tampilan tombol ketika penunjuk tetikus diposisikan di atas tombol, namun tombol tidak ditekan;

Keadaan bawah bingkai ini menunjukkan tampilan tombol ketika ditekan;

Status hit menentukan area di mana tombol merespons klik mouse;

area ini tidak terlihat di klip.

Untuk membuat tombol, jalankan perintah Sisipkan => Simbol Baru (Anda dapat mengetikkan pintasan keyboard Control+F8). Pada kotak dialog Buat Simbol Baru yang muncul, masukkan nama untuk simbol tombol (misalnya but1) dan pilih jenis simbol Tombol.

Flash akan beralih ke mode pengeditan karakter, menyediakan bingkai Atas, Atas, Bawah, dan Hit. Frame pertama, Atas, menjadi keyframe kosong. Mari menggambar tampilan tombol yang belum ditekan di bingkai ini (Gbr. 1).

Beras. 1. Tombol bingkai ATAS

Mari kita pilih frame kedua, ditandai sebagai Over dan sesuai dengan keadaan ketika kursor berada di atas tombol. Mari kita masukkan bingkai kunci ke dalam bingkai ini (menggunakan perintah Sisipkan => Bingkai Utama), sebagai hasilnya akan muncul bingkai kunci yang sepenuhnya mengulangi konten Bingkai Atas. Mari kita ubah warna tombolnya, seperti yang ditunjukkan pada Gambar. 2.

Gambar 2. Tombol di atas bingkai

Demikian pula, tambahkan bingkai berikutnya (Bingkai Bawah) dan gambarkan keadaan tombol yang ditekan (Gbr. 3).

Beras. 3. Tombol bingkai bawah

Kami tidak akan menggambar apa pun di bingkai Hit untuk saat ini, tetapi akan kembali ke bingkai ini nanti.

Mari kita pergi ke adegan utama, panggil perpustakaan menggunakan perintah Window => Library dan buat instance simbol tombol dengan menyeretnya ke atas panggung (Gbr. 4.)

Beras. 4. Buat instance tombol dengan menyeretnya dari perpustakaan

Hasilnya, kami mendapatkan film berikut. Seperti yang terlihat dari film ini, penekanan sebuah tombol terjadi tidak hanya ketika kita mengklik dengan mouse pada area tengah (yang berfungsi) dari tombol tersebut, tetapi juga ketika kita mengklik bingkai di sekitarnya. Hal ini disebabkan jika frame Hit tidak digambar, maka area kerja tombol akan sesuai dengan frame Atas.

Agar tombol hanya dapat ditekan di area kerja, zona ini perlu ditentukan dalam bingkai Hit, yaitu menggambar tombol tanpa bingkai (lihat Gambar 5)

Beras. 5. Tombol bingkai tekan

Untuk membuat tombol menjadi interaktif, Anda perlu mengaitkan fakta menekan tombol dengan pelaksanaan perintah tertentu, yaitu menjelaskan skenario tertentu. Untuk membuat script di Flash, ada bahasa khusus yang disebut Action Script. Dalam pelajaran ini kita hanya akan menyentuh sebagian kecil dari kemampuan bahasa ini, dan di masa depan kita akan kembali ke struktur dan sintaksis Action Script karena contoh pembuatan film interaktif di Flash menjadi lebih kompleks.

Memahami Skrip Tindakan

Action Script adalah bahasa skrip - sekumpulan instruksi yang mengontrol elemen film Flash. Skrip Tindakan dapat disematkan dalam film atau disimpan dalam file teks eksternal dengan ekstensi AS.

Saat menyematkan naskah ke dalam sebuah film, naskah tersebut dapat disematkan di berbagai bagian film. Lebih khusus lagi, Skrip Tindakan dapat berisi bingkai utama, contoh tombol, dan contoh klip video. Oleh karena itu, skrip tersebut disebut Tindakan Bingkai, Tindakan Tombol, dan Tindakan MovieClip.

Skrip Tindakan dijalankan ketika peristiwa tertentu yang dimulai oleh pengguna atau sistem terjadi. Mekanisme yang memberitahu Flash pernyataan apa yang harus dieksekusi ketika suatu peristiwa terjadi disebut event handler.

Action Script memiliki sintaksnya sendiri, seperti JavaScript.

Flash MX 2004 mendukung Action Script dari semua versi Flash sebelumnya.

Salah satu konsep utama Action Script adalah Actions - perintah yang mengeluarkan instruksi selama eksekusi file SWF. Misalnya, gotoAndStop() mengirimkan playhead ke bingkai atau isyarat tertentu. Dari kata Actions muncullah nama bahasanya - Action Script (secara harfiah - action script).

Kita akan mengenal sebagian besar konsep bahasa ini dengan menggunakan contoh-contoh spesifik.

Album foto interaktif

Mari kita tunjukkan penggunaan tombol untuk mengelola album foto - buat kumpulan foto dan tambahkan dua tombol yang akan menggulir foto maju dan mundur.

Sebagai hasil dari menjalankan perintah ini, sebuah panel akan muncul berisi sekumpulan besar tombol yang telah digambar sebelumnya dari berbagai jenis. Mari kita pilih, misalnya, Tombol Tombol (tombol yang mirip dengan tombol keyboard), buka folder yang sesuai, pilih tombol kiri tombol (Gbr. 7) dan buat instance tombol ini (dengan menyeretnya ke atas panggung).

Beras. 7. Elemen folder Tombol Kunci

Perhatikan bahwa saat Anda meletakkan tombol kedua (tombol kanan) di atas panggung dan memindahkannya agar sejajar dengan tombol pertama, program akan memberikan petunjuk (garis putus-putus) yang memungkinkan Anda memposisikan tombol secara akurat (Gambar 8).

Beras. 8. Penyelarasan tombol secara otomatis pada level yang sama

Untuk menambahkan skrip, Anda perlu memanggil editor Action Script menggunakan perintah Window => Development Panels => Actions atau dengan menekan tombol F9.

Jika Anda berencana untuk sering menulis skrip, ini adalah perintah keyboard yang perlu diingat. Hasilnya, editor Action Script akan muncul (Gbr. 9).

Beras. 9. Panel Editor Skrip Tindakan

Jika Anda bereksperimen dengan menyorot berbagai elemen dalam adegan sambil memantau pesan di panel editor Action Script, Anda akan menemukan bahwa program akan memberi tahu Anda elemen mana yang dapat Anda "gantung" kodenya. Jika Anda memilih bingkai di panggung, kata Tindakan - Bingkai muncul di sudut kiri atas panel editor; jika Anda mengklik tombol, kata Tindakan - Tombol muncul, yaitu, program meminta kode yang dimasukkan akan muncul berhubungan dengan skrip tombol. Dan jika Anda memilih foto, sebuah pesan akan muncul di bidang yang dimaksudkan untuk memasukkan skrip: Pilihan saat ini tidak dapat menerapkan tindakan padanya (skrip tidak dapat diterapkan ke objek yang dipilih ini).

Kami akan menetapkan skrip ke sebuah tombol. Versi terbaru ActionScript menawarkan kemampuan untuk menulis kode terpusat, yaitu kode yang terletak di satu tempat, dan kemampuan ini memungkinkan Anda untuk lebih memahami program besar.

Namun, dalam contoh sederhana (yang sedang kita lihat), menugaskan skrip ke sebuah tombol dapat diterima.

Sekarang mari tambahkan beberapa bingkai utama sehingga tombol yang dibuat di bingkai pertama disalin ke dalamnya, dan tempatkan foto yang diperlukan di bingkai yang baru dibuat.

Jika kita menjalankan film yang dibuat untuk dieksekusi, frame akan terus diputar satu demi satu, oleh karena itu, pertama-tama, kita perlu memberikan perintah “Stop” pada frame pertama. Untuk melakukan ini, tambahkan perintah yang sesuai ke frame pertama (Gbr. 11).

Beras. 11. Script ditugaskan ke frame pertama

Harap diperhatikan: perintah tidak lagi ditetapkan ke tombol, tetapi ke bingkai. Fakta bahwa suatu bingkai diberi skrip dicatat pada baris pengeditan utama - huruf kecil "a" muncul di atas titik tebal pada penunjukan bingkai.

Hasilnya, kami mendapat film berikutnya.

Jika kita hanya memiliki beberapa bingkai di album foto, maka dua tombol - "Maju" dan "Kembali" - sudah cukup, tetapi jika kumpulan fotonya besar, disarankan juga memiliki tombol yang menghubungkan ke awal. dan akhir film. Dalam contoh berikut, kita akan menambahkan tombol yang sesuai: “Ke frame pertama” dan “Ke frame terakhir”. Anda dapat memilih tombol mnemonik yang sesuai dari perpustakaan tombol standar dari folder Circle Buttons (Gbr. 12).

Dengan menggunakan contoh yang diusulkan, kita akan membiasakan diri dengan perintah lain, gotoAndStop(), yang memungkinkan Anda pergi ke frame yang diinginkan dan kemudian berhenti.

Beras. 12. Tombol dari folder Tombol Lingkaran

Kita akan menaruh kode pada tombol untuk menuju ke frame pertama (ketiga dari kiri pada Gambar 13), seperti yang ditunjukkan pada Gambar. 13.

Beras. 13. Skrip untuk tombol “Dalam bingkai pertama”.

Untuk album foto lima bingkai, tambahkan skrip transisi "Ke bingkai terakhir" ke tombol terakhir:

Penulisan skrip otomatis

Hingga saat ini, kami telah mengetikkan semua perintah secara manual, namun panel editor ActionScript menyediakan sejumlah layanan untuk penulisan skrip otomatis.

Mari kita pertimbangkan kemungkinan-kemungkinan ini.

Beras. 14. Alat skrip otomatis

Panel editor Action Script memungkinkan Anda memilih, menyeret, mengatur ulang, dan menghapus perintah.

Mari tunjukkan bagaimana Anda dapat menulis skrip yang sama untuk tombol "Teruskan" secara otomatis. Dengan memilih folder Kontrol Klip Film (jendela kiri atas pada Gambar 14), Anda dapat mengakses pengendali kejadian aktif, dan kemudian Anda perlu mengklik dua kali pada item yang sesuai atau menyeret ekspresi ke bidang penulisan skrip di Seret dan Modus jatuhkan.

Akibatnya, ekspresi yang diperlukan dan petunjuk seperti ini akan muncul di bidang kerja (Gbr. 15): Anda memilih perintah yang diinginkan dari menu dan ekspresi selesai secara otomatis. Seperti yang dapat dilihat dari menu, Anda tidak hanya dapat memilih kondisi yang terkait dengan tombol di layar - Anda juga dapat memilih dari menu Gambar. Tombol 15 titikTekan “ ", atau tekan tombol"

”, yang berhubungan dengan menekan tombol keyboard (panah kiri, panah kanan), yaitu, dimungkinkan untuk membuat album foto yang akan “dibalik” menggunakan tombol keyboard.

Beras. 16. Panggilan tombol keyboard Mari kita gunakan perintah keyPress

” (Gbr. 16), lalu masuk ke folder Timeline Control, pilih perintah nextFrame dan seret ke bidang kerja (Gbr. 17).

Beras. 17. Perintah nextFrame dapat ditemukan di folder Timeline Control

Untuk tombol yang membawa film ke awal album foto, Anda dapat memilih menekan tombol Home dari menu sebagai acara, lalu (Gbr. 18) menyeret perintah gotoAndStop ke bidang, menghasilkan perintah lain petunjuk akan muncul tentang kemungkinan sintaksis perintah ini.

Panah di tooltip memungkinkan Anda melihat opsi sintaksis yang berbeda. Program ini menyediakan dua opsi (Gbr. 18 dan 19), yaitu menawarkan untuk mengatur adegan dan bingkai atau hanya bingkai. Dalam kasus kami, cukup menentukan Frame saja.

Jika nama adegan dihilangkan, defaultnya adalah melompat ke bingkai adegan saat ini.

Beras. 18. Petunjuk tentang kemungkinan sintaks perintah

Beras. 19. Panah segitiga memungkinkan Anda melihat opsi sintaksis

Setelah kami menetapkan tombol keyboard yang sesuai ke semua tombol, kami akan mendapatkan film berikut, di mana membolak-balik foto akan dilakukan dari keyboard, dan mengklik tombol di layar tidak akan menimbulkan konsekuensi apa pun.

Apakah mungkin untuk memberikan skenario di mana peristiwa yang berbeda akan menghasilkan tindakan yang sama? Ternyata Anda bisa - untuk melakukan ini, Anda perlu membuat daftar nama acara di on event handler. Jika Anda memberi koma pada daftar acara setelah acara pertama, program itu sendiri akan menawarkan Anda menu (Gbr. 20).

Beras. 20. Saat Anda memasukkan koma di daftar acara, menu perintah tambahan otomatis muncul Mari kita tambahkan ke event pertama (menekan tombol keyboard) event kedua (melepaskan tombol di layar):

Mari ulangi prosedur untuk tombol yang tersisa dan sebagai hasilnya kita akan mendapatkan album foto di mana foto akan digulir menggunakan mouse dan keyboard (file FLA asli dapat diperoleh dari tautan).

Dalam contoh yang dibahas, kami menggunakan transisi berdasarkan nomor bingkai, tetapi metode ini tidak selalu mudah: jika penomoran bingkai berubah selama pengeditan film, logikanya mungkin rusak. Akan lebih mudah untuk menggunakan transisi dengan tanda bingkai.

Mari kita lihat contoh yang tidak hanya memerlukan membolak-balik album, tetapi juga berpindah ke bagian yang berbeda, yaitu navigasi yang lebih kompleks.

Biarkan album terdiri dari gambar, grafik komputer, dan foto.

Mari kita beri label pada bingkai pertama dari bagian "gambar" Gambar; sama halnya, kita akan memberi label "grafik" dan "foto" pada bingkai pertama dari bagian lainnya.

Mari kita buat layer untuk menempatkan label dan beri nama Label. Untuk memberi label pada bingkai, di panel Properties Anda perlu memilih jenis label Nama dan tuliskan namanya. Dalam kasus kami, Gambar (Gbr. 21). Demikian pula, kita akan menempatkan penanda di frame 5 dan 10 (Gbr. 22).

Beras. 21. Contoh pemberian label pada suatu frame

Sekarang mari tambahkan layer baru dan beri nama Actions. Pada key frame pertama dari layer Actions, panggil panel Actions Frame (dengan menekan tombol F9) dan masukkan perintah stop () (lihat Gambar 22)

Beras. 22. Naskah pengambilan gambar pertama

Mari tambahkan layer lain yang disebut Subjek (subjek), di mana kita akan memberi judul pada bingkai yang sesuai: “Gambar” (Gbr. 23), “Grafik” dan “Foto”.

Beras. 23. Judul bingkai pada bagian “Gambar”.

Sekarang mari tambahkan tombol menu dengan nama yang mirip ke samping, yang akan kita tempatkan pada layer baru bernama Menu.

Mari cetak item pertama menu "Gambar" dari tepi kiri dan ubah menjadi simbol tombol. Menggunakan alat Panah, pilih blok teks "Gambar" dan jalankan perintah Ubah => Konversi ke Simbol (perintah ini juga dapat dijalankan menggunakan tombol F8), di panel Konversi ke Simbol, atur jenis simbol Tombol dan tentukan beri nama sebagai pictureButton (Gbr. 24 ).

Beras. 24. Tetapkan nama pictureButton pada tombol untuk menuju ke bagian gambar

Mari kita buat empat bingkai untuk tombol "Gambar": yang pertama hanya akan mewakili teks asli (Gbr. 25), yang kedua akan mewakili teks yang sama hanya dengan warna biru, kita akan melewati bingkai ketiga (dalam hal ini, bingkai Bawah akan sama dengan Over frame ), dan pada frame Hit kita akan menggambar area persegi panjang yang akan menentukan area di mana tombol ditekan (Gbr. 26).

Beras. 25. Tombol gambar bingkai atas

Sekarang kita perlu melampirkan skrip ke tombol yang baru dibuat. Untuk melakukan ini, pilih tombol di Adegan 1 dan, dengan menekan F9, panggil panel Tindakan, lalu masukkan kode yang ditunjukkan pada Gambar. 27.

Beras. 27. Script untuk berpindah ke frame dengan label

Untuk membuat data dari server web tersedia untuk file SWF dari domain lain, Anda dapat membuat file kebijakan di server. File kebijakan adalah file XML yang ditempatkan di lokasi khusus di server.

File kebijakan mengontrol akses ke sejumlah sumber daya, termasuk yang berikut ini:

    memperoleh data gambar raster, audio dan video;

    mengunduh file XML dan teks;

    mengimpor file SWF dari kotak pasir lain ke dalam domain keamanan file yang diunggah;

    akses ke koneksi soket dan soket XML.

Objek ActionScript membuat dua jenis koneksi server: koneksi server berbasis dokumen dan koneksi soket. Objek ActionScript seperti Loader, Sound, URLLoader, dan URLStream membuat koneksi server berbasis dokumen dan memuat file dari URL. Objek Socket dan XMLSocket membuat koneksi soket yang berfungsi dengan data streaming, bukan dokumen yang dimuat.

Karena Flash Player mendukung dua jenis koneksi server, ada dua jenis file kebijakan: file kebijakan URL dan file kebijakan soket.

    Koneksi berbasis dokumen memerlukan File kebijakan URL. Dengan file-file ini, server menunjukkan bahwa data dan dokumennya tersedia untuk file SWF yang dihosting di domain tertentu atau domain apa pun.

    Koneksi soket memerlukan file kebijakan soket, yang menyediakan koneksi jaringan langsung ke soket TCP tingkat rendah menggunakan kelas Socket dan XMLSocket.

File kebijakan harus diteruskan ke Flash Player menggunakan protokol yang sama dengan yang akan digunakan oleh koneksi yang dibuat. Misalnya, ketika file kebijakan ditempatkan di server HTTP, file SWF dari domain lain dapat memuat data dari server tersebut menggunakan protokol HTTP. Namun, jika Anda tidak menambahkan file kebijakan soket ke server yang sama, file SWF dari domain lain tidak akan dapat terhubung ke server melalui soket. Dengan kata lain, cara Anda memperoleh file kebijakan harus sesuai dengan cara Anda terhubung.

Sisa dari bagian ini memberikan penjelasan singkat tentang penggunaan file kebijakan dan sintaksis untuk file SWF yang diterbitkan untuk Flash Player 10. (Untuk versi Flash Player sebelumnya, file kebijakan diterapkan sedikit berbeda karena keamanan Flash Player telah meningkat seiring dengan versi baru. telah dirilis. Player.) Untuk informasi lebih lanjut tentang file kebijakan, lihat "Perubahan pada File Kebijakan di Flash Player 9" di Pusat Pengembang Flash Player di www.adobe.com/go/devnet_security_en.

Kode yang berjalan di sandbox aplikasi AIR tidak memerlukan file kebijakan untuk mengakses data melalui URL atau soket. Kode dalam aplikasi AIR yang berjalan di luar sandbox aplikasi memerlukan file kebijakan.

File SWF dapat memeriksa file kebijakan dengan nama berbeda atau di lokasi berbeda. Untuk melakukannya, Anda perlu memanggil metode Security.loadPolicyFile(). Namun, jika file kebijakan utama tidak menentukan bahwa file kebijakan mungkin berlokasi di lokasi tertentu, pemanggilan metode loadPolicyFile() tidak akan berpengaruh meskipun ada file kebijakan di sana. Metode loadPolicyFile() harus dipanggil sebelum mencoba melakukan operasi jaringan yang memerlukan file kebijakan. Flash Player secara otomatis mengantri permintaan koneksi jaringan setelah permintaan file kebijakan terkait. Misalnya, metode Security.loadPolicyFile() dapat dipanggil segera sebelum memulai operasi jaringan.

Saat memeriksa file kebijakan utama, Flash Player menunggu tiga detik hingga server merespons. Jika tidak ada respons yang diterima, Flash Player menyimpulkan bahwa file kebijakan yang mendasarinya tidak ada. Namun, tidak ada batas waktu default untuk memanggil metode loadPolicyFile(); Flash Player berasumsi bahwa file yang dipanggil ada dan menunggu untuk dimuat tanpa batas waktu. Oleh karena itu, untuk memastikan bahwa file kebijakan utama dimuat, Anda harus memanggil metode loadPolicyFile().

Meskipun metode ini disebut Security.loadPolicyFile(), file kebijakan dimuat hanya setelah permintaan jaringan dikirimkan yang memerlukan file kebijakan. Memanggil metode loadPolicyFile() hanya memberi tahu Flash Player di mana mencari file kebijakan saat diperlukan.

Tidak ada cara untuk diberitahu ketika permintaan file kebijakan dikirim atau diselesaikan, itu tidak diperlukan. Flash Player memeriksa file kebijakan secara asinkron dan secara otomatis menunggu koneksi dibuat hingga pemeriksaan berhasil.

Bagian berikut berisi informasi yang hanya berlaku untuk file kebijakan URL. Untuk informasi lebih lanjut tentang file kebijakan soket, lihat bagian "Koneksi Socket".

Cakupan File Kebijakan URL

File kebijakan URL hanya berlaku untuk direktori tempat file tersebut dimuat dan direktori turunannya. File kebijakan di direktori root berlaku untuk seluruh server. File kebijakan yang diambil dari subdirektori hanya berlaku untuk direktori tersebut dan subdirektorinya.

File kebijakan mendefinisikan akses hanya ke server tempatnya berada. Misalnya, file kebijakan yang terletak di https://www.adobe.com:8080/crossdomain.xml hanya berlaku untuk panggilan untuk mengunduh data dari www.adobe.com melalui HTTPS pada port 8080.

Menentukan Izin Akses dalam File Kebijakan URL

File kebijakan berisi satu tag , yang, pada gilirannya, dapat berisi sejumlah tag berapa pun memulai dari awal. Setiap tag berisi atribut domain, yang menentukan alamat IP yang tepat, nama domain yang tepat, atau domain wildcard (domain apa pun). Domain wildcard dapat ditentukan dengan dua cara:

    satu tanda bintang yang sesuai dengan semua domain dan semua alamat IP;

    tanda bintang dengan akhiran, yang hanya cocok dengan domain dengan akhiran yang ditentukan.

Akhiran harus diawali dengan titik. Namun, domain karakter pengganti dengan sufiks dapat cocok dengan domain yang hanya berisi sufiks tanpa titik di depannya. Misalnya, "xyz.com" dianggap sebagai bagian dari "*.xyz.com". Wildcard tidak dapat digunakan pada alamat IP.

Contoh berikut menunjukkan file kebijakan URL yang mengizinkan akses ke file SWF dari domain *.example.com, www.friendOfExample.com, dan 192.0.34.166.

Jika alamat IP ditentukan, akses hanya diberikan ke file SWF yang dimuat dari alamat IP tersebut menggunakan sintaksis IP (misalnya, http://65.57.83.12/flashmovie.swf). Berbagi file SWF tidak menggunakan sintaks nama domain. Flash Player tidak melakukan resolusi DNS.

Anda dapat mengizinkan akses ke dokumen dari domain mana pun, seperti yang ditunjukkan dalam contoh berikut.

Setiap tag juga memiliki atribut aman tambahan, yang defaultnya adalah true . Jika file kebijakan ada di server HTTPS dan Anda ingin mengizinkan file SWF dari server selain HTTPS memuat data dari server HTTPS, Anda dapat mengatur atribut ini ke false .

Menyetel atribut aman ke salah dapat melemahkan keamanan yang disediakan oleh HTTPS. Secara khusus, nilai false membuka konten yang dilindungi terhadap akses tidak sah atau spoofing. Adobe sangat menyarankan agar Anda tidak menyetel atribut secure ke false .

Jika data yang Anda muat ada di server HTTPS dan file SWF yang memuatnya ada di server HTTP, Adobe menyarankan Anda memindahkan file SWF yang memuat ke server HTTPS. Berkat ini, semua salinan data sensitif akan dilindungi oleh HTTPS. Namun, jika Anda memutuskan untuk membiarkan file SWF yang sedang dimuat di server HTTP, tambahkan atribut secure="false" ke tag seperti yang ditunjukkan di bawah ini.

Anda juga dapat menggunakan tag izinkan-http-permintaan-header-dari untuk memberikan akses. Elemen ini memberikan klien yang menghosting konten dari domain lain izin untuk mengirim header yang ditentukan pengguna ke domain Anda. Menandai memberikan akses kepada domain lain untuk menerima data dari domain Anda, dan tag Allow-http-request-headers-from memberikan izin kepada domain lain untuk mengirimkan data ke domain Anda dalam bentuk header. Contoh berikut memungkinkan semua domain mengirim header SOAPAction ke domain saat ini.

Jika tag izinkan-http-permintaan-header-dari ditambahkan ke file kebijakan utama, tag ini berlaku untuk semua direktori di host. Jika tidak, ini hanya berlaku pada direktori dan subdirektori yang terpengaruh oleh file kebijakan yang berisi tag tersebut.

Memuat data dari server atau menghubungkan ke soket dilakukan secara asinkron. Flash Player cukup menunggu file kebijakan selesai diunduh sebelum menjalankan operasi utama. Namun, mengekstraksi data piksel dari gambar atau memperoleh sampel audio dilakukan secara sinkron. File kebijakan harus diunduh sebelum data dapat diambil. Saat mengunduh data media, Anda harus mendapatkan file kebijakan.

    Jika Anda menggunakan metode Loader.load(), setel properti checkPolicyFile dari parameter konteks, yang merupakan objek LoaderContext.

    Jika gambar disematkan di kolom teks menggunakan tag , setel atribut checkPolicyFile dari tag nilai "benar" seperti yang ditunjukkan di bawah ini.

    Jika Anda menggunakan metode Sound.load(), setel properti checkPolicyFile dari parameter konteks, yang merupakan objek SoundLoaderContext.

    Jika Anda menggunakan NetStream, atur properti checkPolicyFile dari objek NetStream.

Jika salah satu opsi ini ditentukan, Flash Player terlebih dahulu memeriksa file kebijakan yang sudah diunduh untuk domain tersebut. Ia kemudian mencari file kebijakan server di lokasi default, memeriksa tag dan kehadiran metapolitik. Terakhir, setiap panggilan tertunda ke Security.loadPolicyFile() diperiksa untuk mengevaluasi cakupannya.

Berjudul "Macromedia Flash 8: kursus pejuang muda", didedikasikan untuk produk perangkat lunak dan teknologi Flash yang luar biasa ini. Mulai hari ini, topik yang kita bicarakan tentang Flash akan menjadi lebih fokus. Oleh karena itu, mulai sekarang saya akan menghilangkan kata “kursus petarung muda” pada judulnya. Namun, keadaan ini sama sekali tidak akan mempengaruhi cara penyajian materi, yang tujuan utamanya adalah menjawab banyak pertanyaan yang dimiliki desainer flash pemula dan memberikan bahan pemikiran kepada desainer berpengalaman.

Jadi, agenda hari ini adalah komponen antarmuka pengguna Macromedia Flash Professional 8, serta cara menyesuaikannya.


Komponen Flash Standar 8

Versi terbaru dari paket grafis canggih Macromedia Flash 8, selain sekumpulan alat, metode, dan efek garis waktu yang dirancang untuk membuat animasi berkualitas tinggi, berisi bahasa pemrograman berorientasi objek lengkap ActionScript 2.0 dan banyak komponen (bawaan- di blok program seperti Film).

Mengapa kita membutuhkan komponen? Dalam banyak kasus, mereka sangat menyederhanakan proses pengembangan aplikasi interaktif. Menggunakan bidang entri data dan berbagai tombol di situs web, formulir pendaftaran dapat dengan mudah dibuat; melalui pemuat, Anda dapat mengontrol pemuatan data teks dan multimedia dari berbagai sumber, dll. Hari ini kita akan melihat salah satu kelas komponen di Flash 8 - elemen antarmuka pengguna (UI).

Objek paling populer di Flash tentu saja adalah tombolnya. Itu hadir di Flash baik sebagai tipe simbol dan sebagai elemen UI. Komponen RadioButton, CheckBox, MenuBar, dll. lebih jarang digunakan, namun tetap penting. Jendela komponen dipanggil dengan menekan Ctrl+F8 atau dari menu Window -> Components. Lihat tabel untuk komponen UI utama.

Komponen Keterangan
Akordeon Formulir navigator
Peringatan Pesan teks
Tombol Tombol sederhana
Kotak Centang kotak centang
Kotak Kombo Daftar kombo
Daftar Daftar
Pemuat Kontainer pemuat
Tombol Radio Sakelar pemilih
Area Teks Area teks
Jendela Wadah berupa jendela

Hari ini, dengan menggunakan contoh pengaturan elemen antarmuka pengguna yang disebut Alert, kita akan melihat prinsip-prinsip bekerja dengan gaya komponen.


Menyetel properti komponen

Komponen Alert memungkinkan Anda mengatur dialog kecil antara pengguna dan komputer. Mari kita bayangkan sesuatu yang mirip dengan program percakapan Alice, yang dibuat pada tahun 60an dan memiliki kecerdasan buatan kecil yang memungkinkan untuk melakukan percakapan dengan seseorang menggunakan jawaban atas pertanyaan yang diajukan sebelumnya.

Pertama, mari kita ubah label pada tombol dan tuliskan pengendali untuk kliknya. Tergantung pada tombol mana yang diklik pengguna, pesan khusus akan muncul. Ini semua dicapai tanpa menggunakan gaya. Jadi, mari seret jendela Peringatan ke lembar kosong dari panel Komponen dan berikan semua pengaturan yang diperlukan. Mari kita ingat bahwa di setiap file Flash fla terdapat perpustakaan (disebut dengan menekan Ctrl+"L"), di mana contoh komponen disimpan. Jendela Peringatan juga cocok di sini. Karena kita tidak ingin itu selalu berkeliaran di ruang kerja, kita bisa menghapusnya dari sana (tentu saja dari artboard). Peringatan akan tetap ada di perpustakaan.

Sekarang pilih frame pertama pada timeline, buka bagian Actions (F9) dan tulis kode program berikut: “import mx.controls.Alert” (untuk lebih jelasnya lihat daftar). Banyak pengaturan yang diperlukan hanya dapat diatur menggunakan ActionScript. Jendela Peringatan dipanggil dengan prosedur Alert.show ("teks", "judul jendela", "tombol yang digunakan", "jendela", "penanganan klik", "tombol yang dipilih") dengan banyak parameter yang ditentukan dalam tanda kurung. Untuk tombol yang digunakan, “Alert.YES |. Alert.NO” ditunjukkan dalam tanda kutip tunggal (ada juga tombol “OK” dan “Cancel”), dan untuk event handler - fungsi “buttonclick”, yang akan kita tulis a beberapa saat kemudian. Sekarang mari kita ubah label pada tombol "YES" dan "NO" menggunakan properti komponen Alert "yesLabel" dan "noLabel". Kemudian atur dimensi yang diperlukan (“buttonWidth” dan “buttonHeight”). Untuk memilih parameter optimal, ada baiknya menjalankan video untuk pengujian - tombol "Enter" + Ctrl. Logika dari fungsi “klik tombol” adalah sebagai berikut: ketika tombol “Hebat” ditekan, pesan “Teruskan!”, ketika “Biasa saja” - “Angkat hidungmu!” Agar perubahan diterapkan, deskripsi fungsi ini dan pengaturan komponen Alert harus mendahului panggilan ke prosedur Alert.show, seperti yang ditunjukkan dalam daftar:

Impor mx.controls.Alert; Peringatan.buttonWidth=150; Peringatan.buttonHeight=25; Alert.yesLabel="Hebat"; Alert.noLabel="Biasa saja..."; buttonclick = function(evt)(if (evt.detail == Alert.YES) (Alert.show("Teruskan!", "Macromedia Flash 8");) if (evt.detail == Alert.NO) ( Alert .show("Angkat hidungmu!", "Macromedia Flash 8");)) Alert.show("Ada apa sobat?", "Macromedia Flash 8", Alert.YES | Alert.NO, ini, klik tombol , Waspada .YA);

Dengan cara yang sama, Anda dapat mengatur dialog yang lebih kompleks dengan pengguna.


Bekerja dengan gaya

Untuk apa gaya digunakan? Saya akan menjelaskannya sekarang. Setiap komponen di Flash memiliki skema warna tertentu, ukuran font, dll. Namun jika Anda sedang mengembangkan, misalnya, situs web Anda sendiri, maka agar tidak melanggar integritas gambar, Anda harus “menyesuaikan” komponen dengan situs tersebut. Saya rasa saya tidak akan salah jika saya mengatakan bahwa setiap desainer flash berusaha membuat videonya dengan cara khusus yang unik baginya. Dengan gaya dan tema di Flash 8, Anda dapat membuat setiap komponen menjadi unik. Tapi jangan terbawa suasana dan fokus pada gaya untuk saat ini.

Antarmuka pemrograman aplikasi pemformatan (Styles API) memberi pengguna properti dan metode yang dapat digunakan untuk mengubah warna komponen dan memformat teks yang terdapat di dalamnya. Biasanya ini sudah cukup. Flash 8 dikirimkan dengan dua gaya dengan serangkaian parameter: "Halo" dan "Sample", yang masing-masing terletak di file HaloTheme.fla dan SampleTheme.fla. Gambar tersebut menunjukkan lokasinya di Windows 2000/XP. Perlu dicatat bahwa tema “Sampel” memiliki lebih banyak properti, jadi lebih disarankan menggunakannya untuk memodifikasi komponen. Dan ini dilakukan sebagai berikut:

  1. Perintah File -> Impor -> Buka Perpustakaan Eksternal dipanggil dan file SampleTheme.fla ditentukan dalam kotak dialog. Kemudian, di panel perpustakaan yang diimpor, pilih Flash UI Components2 -> Tema -> MMDefault. Kemudian dari jendela ini Anda perlu menyeret folder dengan sumber daya komponen (aset) yang diinginkan ke jendela perpustakaan simbol dari dokumen saat ini.
  2. Dengan menggunakan metode setStyle (parameter, nilai) dan getStyle (parameter), Anda dapat menyetel atau mendapatkan nilai parameter tertentu dari gaya yang dipilih.

Karena kita bekerja dengan komponen Alert, kita akan menyeret folder "Alert Assets" ke dalam perpustakaan simbol dokumen kita. Kemudian kita akan menggunakan properti standar dari tema “Sampel” (lihat daftar).

Global.styles.Alert.setStyle("warna", "merah"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("backgroundColor", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "kali novel baru"); _global.styles.Alert.setStyle("Ukuran font", "15");

Warna kotak dialog Peringatan kini berwarna ungu (0xE0C5FE) dan teksnya kini berwarna biru, dengan font diatur ke Times New Roman 15 poin. Perlu dicatat bahwa simbol Peringatan telah dimodifikasi dengan cara ini, sehingga perubahan akan mempengaruhi semua contohnya. Deskripsi semua properti tema Halo dan Samlpe dapat ditemukan di Bantuan Flash 8.


Bagaimana jika ini tidak cukup bagi saya?

Jika, meski dengan gaya, tampilan komponen tidak memenuhi persyaratan estetika Anda, maka Anda dapat mencoba menulis tema Anda sendiri. Untuk melakukan ini, cukup edit atau ganti cangkang komponen yang diperlukan di salah satu tema standar. Untuk melakukan ini, simpan file HaloTheme.fla atau SampleTheme.fla dengan nama unik, muat, buka jendela perpustakaan simbol (Window -> Library atau Ctrl+L), pilih komponen yang diperlukan dan pilih opsi "Edit" dalam menu konteks. Beberapa elemen UI terdiri dari banyak bagian, sehingga dapat dengan mudah diubah dengan menggambar ulang atau membuat ulang setiap bagian. Komponen tersebut adalah Button, CheckBox, ComboBox, DataGrid, RadioButton, dll. Shell lainnya digambar secara terprogram. Dalam hal ini, untuk mengubah tampilan komponen, Anda perlu memodifikasi kode sumbernya. Ini misalnya komponen Alert. Karena membuat tema khusus adalah proses yang memakan waktu, kami tidak akan membahasnya secara detail. Setidaknya untuk saat ini. Itu saja.


Materi kuliah, pekerjaan rumah dan tes
kursus jarak jauh “Sekolah elektronik Macromedia Flash MX”
Surat kabar metodologi mingguan Rusia untuk guru ilmu komputer. Rumah Penerbitan "Pertama September" No. 42 (2003)
“Analog dari program “Rule” dari paket “Hits of Robotland”.
di lingkungan Macromedia Flash."

Publikasi cetak

MACROMEDIA SEKOLAH ELEKTRONIK FLASH MX
Mata kuliah III : Dasar-dasar Pemrograman di Macromedia Flash MX
Modul IV: Perintah dengan. Program "Aturan"
bahasa skrip aksi

Paket modul ekspres:
  • dengan perintah
  • Flash duplikat program "Rule" dari paket "Hits of Robotland".

dengan perintah

Saat menggunakan objek dalam kode program (skrip), mudah untuk melihat bahwa bahkan dalam blok skrip kecil, nama objek yang sama diulang berulang kali. Pengulangan seperti itu sering terjadi terutama ketika menggunakan beberapa objek individual, misalnya objek Matematika, milik tingkat atas. Misalnya, kode berikut ini cukup umum:

A = Matematika.PI * r * r; x = r * Matematika.cos(Matematika.PI); y = r * Math.sin(Math.PI/2);

Ini objeknya Matematika terjadi berulang kali, yang membuat skrip sulit untuk dipahami. Entri ini dapat disederhanakan jika blok skrip diapit tanda kurung menggunakan perintah with. Kemudian, di dalam blok skrip ini, juru bahasa ActionScript akan mengakses objek yang ditentukan. Sekarang kodenya dapat ditulis ulang sebagai berikut:

Dengan (Matematika) ( a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); )

Mari kita lihat format perintah umum:

dengan (objek) (
pernyataan;
}

obyek— turunan dari objek ActionScript atau Klip Film.

pernyataan- perintah atau sekelompok perintah yang diapit kurung kurawal.

Mari kita lihat contoh lain, dimana objek tersebut digunakan Klip Film bernama someOtherMovieClip:

Dengan (someOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

Kutipan skrip berikut menunjukkan bagaimana contoh sebelumnya dapat ditulis tanpa menggunakan perintah with:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

Dimungkinkan untuk menggunakan perintah bersarang untuk mengakses informasi di banyak area kontekstual.

Flash duplikat program “Pravilka” dari paket “Hits of Robotland”.

Saat memprogram tombol, kami akan secara aktif menggunakan operator percabangan: if dan if else. Kami juga akan mengatur pengoperasian penghitung yang menambahkan poin kepada pengguna jika jawaban benar dan mengurangi poin jika, tanpa memperbaiki kesalahan atau melakukan koreksi yang salah, pengguna menekan tombol "Berikutnya".

Kami akan mengatur karya Klip Film (hadiah), di mana “Dana Hadiah” akan ditempatkan. Jika pengguna mendapat 10 poin, hadiahnya berupa sekeranjang buah-buahan yang lezat. Jika pengguna memiliki 9 atau 8 poin sebagai hadiah, dia akan menerima sepotong keju, jika pengguna “beruntung” mendapatkan 6 atau 7 poin, dia akan menerima labu, tetapi jika dia mendapat skor 5 atau kurang dari 5 poin , dia akan mendapatkan tomat!

Bagi yang menyukai penilaian lima poin, mari terjemahkan kalimat di atas ke dalam bahasa yang dapat diakses di majalah sekolah:

Keranjang buah - 5 ;
Sepotong keju - 4 ;
labu - 3 ;
Tomat - 2 .

Saat mengakses Movie Clip kita akan menggunakan perintah with.

Adegan kita akan menggunakan 11 frame. 10 frame pertama akan menjadi “lembar kerja” di mana frasa dengan kesalahan tata bahasa (Teks Masukan) akan ditempatkan. Biasanya kolom input dibiarkan kosong, tetapi dalam kasus kami kolom tersebut seharusnya berfungsi! Setiap lembar akan diprogram dengan bidang dinamis. Jika pengguna tidak memperbaiki kesalahan tata bahasa, teks akan ditampilkan: “Anda belum memperbaiki kesalahan!”

Program ini menggunakan dua lapisan. Lapisan paling bawah adalah latar belakang, berisi teks statis "Program Benar" dan simbol grafis dengan topi.

Jika Anda benar-benar ingin menggunakan font eksotik yang diinstal pada mesin Anda dalam program untuk menulis judul, jangan lupa untuk menggunakan prosedur Break Apart dari menu Modify untuk teks ini. Dengan kata lain, ubah teks menjadi grafik. Dan teks Anda tidak akan berubah menjadi gobbledygook di mesin yang tidak memiliki font ini!

Sekarang semuanya beres. Mari kita menulis skrip untuk frame 1:

Berhenti(); fscommand("tampilkanmenu", "salah"); saya = 0;

Saat memutar video, Anda harus menonaktifkan “Menu”. Dengan cara ini kami tidak akan mengizinkan pengguna untuk mengambil "langkah mundur". Dan kami juga “menghidupkan” penghitungnya.
Mari kita tuliskan aksi untuk frame 2-10:

Mari kita lihat cara kerja tombol menggunakan frame pertama sebagai contoh. Anda dapat memprogram sendiri tombol lainnya.

Pada (rilis) ( if (t1=="Krisan Putih") ( i++; gotoAndPlay(2); ) else ( i--; z1 = "Anda tidak memperbaiki kesalahannya!"; ) )

Sekarang kami akan membentuk “Dana Hadiah”. Mari kita buat simbol baru bertipe Movie Clip dengan namanya hadiah di mana 5 frame akan bekerja. Kami akan menulis promosi untuk semua frame klip:

Bingkai pertama klip akan kosong.

Pada frame kedua kita akan menempatkan sekeranjang buah-buahan dan memberi label pada frame tersebut: lima.
Di bingkai ketiga kita akan menempatkan sepotong keju dan memberi label pada bingkai: empat.
Mari letakkan labu di bingkai keempat dan beri label pada bingkai: tiga.
Mari letakkan tomat di bingkai kelima dan beri label pada bingkai: dua.

Dalam program ini, semua “variasi makanan” ini diimpor dari koleksi ClipArt97 (file wmf). Namun, Anda dapat membuat “Dana Hadiah” Anda sendiri, semuanya bergantung pada imajinasi Anda.

Mari kita kembali ke panggung dan pada frame ke-11 terakhir kita akan menempatkan klip yang kita buat dengan hadiah. Jangan lupa mengejanya di atas panggung. Nama Instance: hadiah. Kami akan menulis skrip ke bingkai ini yang, dengan menganalisis konten penghitung, akan “memberi” hadiah kepada pengguna:

Berhenti(); sh = saya; dengan (_root.priz) ( jika (i

Uji videonya. Dan jika perlu, debuglah.

Untuk menyederhanakan proses pengujian, buat kolom teks dinamis pada frame terakhir dengan nama sh dan menampilkan data penghitung di bidang ini. Untuk melakukan ini, tambahkan baris kedua ke skrip frame ke-11:

Setelah menyelesaikan proses debugging, hapus bidang ini dan baris yang Anda masukkan.

Pekerjaan Rumah: Dasar-dasar pemrograman di Macromedia Flash MX

Oh, betapa banyak penemuan menakjubkan yang kita miliki
Siapkan semangat pencerahan
Dan pengalaman, anak dari kesalahan yang sulit,
Dan jenius, sahabat paradoks,
Dan kebetulan, Tuhan sang penemu.
Alexander Sergeevich Pushkin, “Eugene Onegin”

Tugas Anda adalah membuat video yang menduplikasi materi yang disampaikan pada kuliah kali ini. Anda dapat memilih sendiri frasa tersebut.

Bahan ilustrasi yang digunakan untuk membentuk “dana hadiah” video dapat Anda temukan di arsip yang menyertai materi perkuliahan. Arsip ini berisi file dalam format wmf. Jika kumpulan hadiah ini tidak memenuhi kebutuhan Anda, silakan berkreasi dan gunakan perpustakaan Anda sendiri.

Kirimkan tugas Anda yang sudah selesai sebagai file dalam format fla (jika ukuran file melebihi 150 KB, harap arsipkan file tersebut) dan kirimkan ke guru Anda.

Saya berharap Anda sukses dalam mempelajari Macromedia Flash MX sendiri!

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat