Blok teks khusus. Macromedia Flash MX - langkah pertama


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 tidak 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”. Ayo berkreasi simbol baru ketik Klip Film dengan nama 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 instansi: 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!

Bagian di halaman ini:

Sekarang mari kita bicara tentang apa yang disebut blok teks khusus, yaitu tentang blok teks yang menjalankan fungsi khusus. Namun saat ini, mereka tidak berguna bagi kita, tetapi mereka akan dibutuhkan ketika kita mulai menulis program di lingkungan Flash (pemrograman didedikasikan untuk bagian IV buku ini).

Bidang masukan

Bidang masuk - Ini adalah sejenis editor teks kecil yang ditempatkan di jendela program Windows dan dirancang untuk memasukkan teks tunggal atau multi-baris. Pada saat yang sama, Windows sendiri yang mengatur input teks: kita cukup mengetikkan karakter, menggunakan tombol panah, , , pilih teks, gunakan clipboard, seperti pada "besar" lainnya editor teks. Pemrogram Microsoft telah bekerja keras untuk membuat kolom input standar Windows benar-benar nyaman.

Untuk membuat kolom input di Flash, pertama-tama Anda perlu menempatkan blok teks biasa di lembar kerja Anda dan memilihnya dengan alat panah (Anda tidak perlu memasukkan teks apa pun ke dalam blok teks). Selanjutnya, temukan di sudut kiri atas panel Properti daftar drop-down kecil (lihat Gambar 7.4) dan pilih item di dalamnya Masukkan teks. Jika setelah ini kita membuka blok teks yang dihasilkan, kita akan melihat apa yang ditunjukkan pada Gambar. 7.9.


Jadi apa yang kita lihat? Dan kita melihat satu set lengkap penanda pengubahan ukuran (mereka akan disimpan bahkan jika kita menutup kolom input). Artinya kita juga dapat mengubah ukuran vertikal dari kolom masukan yang dihasilkan. Dan penanda persegi panjang dari sudut kanan atas akan berpindah ke kanan bawah - ini tandanya kita memiliki kolom input di depan kita.

Tampilan panel Properti setelah memilih kolom input ditunjukkan pada Gambar. 7.10. Seperti yang bisa kita lihat, mereka muncul di sana elemen tambahan pengendalian yang perlu dipertimbangkan.


Pertama-tama, tepat di bawah daftar yang baru saja kita gunakan, sebuah bidang muncul di mana kita perlu menunjukkan yang unik Nama, mengidentifikasi bidang input Flash yang kami buat. Setiap kolom input yang dibuat pada lembar kerja harus memiliki nama unik. Nama ini dapat berisi huruf alfabet Rusia dan Latin, angka, dan garis bawah, dan harus diawali dengan huruf atau garis bawah.

Di bawah bidang input tugas pelacakan terdapat daftar drop-down lainnya. Gunakan untuk memilih jenis kolom input. Ada empat item yang tersedia dalam daftar ini:

? Garis tunggal- reguler bidang masukan satu baris;

? Multi baris- bidang masukan multibaris(dengan kata lain, area pengeditan);

? Multiline tanpa bungkus- bidang input multi-baris yang tidak akan secara otomatis memutus satu baris (walaupun pengguna masih dapat memutus satu baris secara manual dengan menekan tombol );

? Kata sandi- bidang entri kata sandi. Mirip dengan bidang masukan satu baris biasa, tetapi menyembunyikan teks yang dimasukkan ke dalamnya, dan malah menampilkan serangkaian tanda bintang.

Di sebelah kanan daftar ini terdapat tiga tombol sakelar. Yang pertama sudah tidak asing lagi bagi kita - ini memungkinkan pengguna untuk memilih teks di kolom input:


Seperti dapat dilihat pada gambar. 7.10, tombol ini ditekan dan dinonaktifkan, yaitu tidak dapat dinonaktifkan.

Tombol saklar kedua, bila diaktifkan, memerintahkan Flash untuk memproses semua tag HTML yang ditemukan dalam teks:


Jadi, jika kita menyertakan sepotong teks dalam sebuah tag<В>.. , Flash akan menyorotnya dengan huruf tebal. Jika tombol ini dinonaktifkan, Flash menampilkan teks "sebagaimana adanya", bersama dengan tag HTML apa pun yang ditentukan di sana.

Secara umum, fitur ini hanya berguna jika kita menentukan konten kolom input dari skrip ActionScript, jadi fitur ini dijelaskan di sini sebelumnya. Informasi dukungan terperinci tag HTML Bidang masukan dan blok teks dinamis dapat ditemukan di bantuan online Flash.

Tombol pengalih ketiga, bila diaktifkan, menyebabkan Flash menampilkan batas di sekitar kolom masukan, sehingga menyerupai kolom masukan standar Windows:


Jika dinonaktifkan, kolom input akan terlihat “datar”.

Jika kolom masukan yang kami buat adalah bagian dari antarmuka asli, sebaiknya biarkan tombol ini dinonaktifkan. Jika kita ingin membuat kolom input lebih familiar bagi pengguna atau lebih terlihat, kita dapat mengaktifkan tombol ini.

Di sebelah kanan ketiga tombol ini terdapat kolom input Var. Bidang ini menentukan nama variabel ActionScript di mana teks yang dimasukkan ke dalam bidang masukan yang kita buat akan ditempatkan. Variabel adalah sejenis “sel penyimpanan” data yang dibuat dalam memori komputer dan memiliki nama unik yang dapat diidentifikasi secara unik. Kita dapat merujuk ke variabel ini berdasarkan nama, mengekstrak data darinya, atau memberi nilai baru ke dalamnya. Variabel akan dibahas secara rinci di Bab 19.

Di kolom masukan Karakter maksimal menetapkan jumlah maksimum karakter yang dapat dimasukkan pengguna ke dalamnya. Jika kita tidak ingin membatasi angka ini, maka kita akan memasukkan nilai 0 di sana (ini adalah nilai default bidang tersebut).

Sekarang mari kita kembali ke topik penerapan font, tetapi dalam kaitannya dengan kolom input (lebih tepatnya, ke semua blok teks khusus). Masalahnya adalah dalam hal ini tidak ada penyematan yang dilakukan - Flash hanya menyimpan nama font yang digunakan. Saat Anda memutar gambar yang sudah selesai, Flash Player pertama-tama mencari font ini di komputer klien dan, jika ada, menggunakannya untuk menampilkan teks. Jika font yang sesuai tidak ditemukan, pemutar akan menggunakan font serupa yang paling mirip dengan font yang diinginkan, yang dapat menyebabkan gambar terdistorsi. Dan hal ini tidak selalu dapat diterima.

Tapi kita masih bisa memaksa Flash untuk menyematkan deskripsi simbol yang dipilih yang ditentukan dalam Shockwave/Flash file yang dihasilkan bidang ini masukan huruf. Sekarang kita akan melihat bagaimana hal ini dilakukan.

Pemilihan karakter font yang akan disematkan dilakukan di kotak dialog Penanaman Karakter(Gbr. 7.11). Jendela ini akan muncul di layar setelah menekan tombol Menanamkan panel Properti(lihat Gambar 7.10).


Daftar besar jendela ini akan memungkinkan kita memilih seluruh kelompok simbol yang harus tertanam dalam file Shockwave/Flash yang dihasilkan. Ini berisi beberapa item; sama yang dijamin bermanfaat bagi kita diberikan di bawah ini:

? Semua (39477 mesin terbang)- semua karakter font ini berjumlah 39.477. Item ini disediakan untuk tujuan informasi saja; pada kenyataannya, hampir tidak ada orang yang akan menggunakannya;

? Huruf besar (27 mesin terbang)- huruf latin kapital (27 karakter);

? Huruf kecil (27 mesin terbang)- huruf latin kecil (juga 27 karakter);

? Angka (11 mesin terbang)- Angka Arab (11 karakter);

?Tanda baca [!@#$%…] (52 mesin terbang)- tanda baca dan sebutan khusus (52 karakter);

?Bahasa Latin Dasar (95 mesin terbang)- huruf dari sebagian besar bahasa Eropa (95 karakter);

?Sirilik (499 mesin terbang)- Huruf Sirilik (499 karakter). Mungkin poin terpenting dalam kasus kami.

Biasanya, beberapa item disorot dalam daftar ini sekaligus (benar - siapa yang membutuhkan huruf tanpa angka!). Untuk melakukan ini, pertama-tama klik item pertama dari kumpulan item yang ingin kita pilih, lalu tekan tombol dan, sambil menahannya, klik item yang tersisa sampai kita memilih semuanya. Setelah ini, Anda dapat melepaskan kuncinya .

Di bawah daftar font ada kolom input Sertakan karakter-karakter ini. Di dalamnya kita bisa memasukkan secara manual karakter-karakter yang perlu disematkan. Cara ini berguna jika kita ingin menyematkan karakter tertentu saja pada sebuah font. Dan jika kita menekan tombolnya Isi Otomatis, Flash sendiri akan menggantikan semua karakter yang kita gunakan dalam teks kolom input yang dipilih di kolom input ini.

Di bagian paling bawah jendela Pilihan Karakter ada bidang teks kecil Jumlah total mesin terbang, menunjukkan berapa banyak karakter yang telah kita pilih untuk disematkan. Jadi kita bisa berhenti tepat waktu.

Tombol Jangan Sematkan akan memungkinkan Anda dengan cepat menghapus semua karakter yang telah kami pilih untuk diterapkan. Ketika Anda mengkliknya, kolom input akan dihapus Sertakan karakter ini, dan dalam daftar besar, pilihan item yang telah kita pilih akan hilang.

Dengan mengatur opsi penyematan font di kotak dialog Penanaman Karakter, tombol harus ditekan OKE, untuk menerapkannya. Jika Anda perlu membatalkan pengaturan ini, klik tombol Membatalkan.

Blok teks dinamis

Seringkali, alih-alih menampilkan teks biasa dan tidak berubah, Anda ingin menampilkan output skrip ActionScript dalam bentuk teks. Misalnya, skrip seperti itu dapat mengekstrak berita dari situs web Compulents, ramalan cuaca dari situs web Aporta, dan nilai tukar dari situs web Rambler, menambahkan waktu saat ini ke data yang diekstraksi, dan menampilkan semua ini sebagai teks di layar. (Omong-omong, ide yang menarik...)

Justru untuk menampilkan teks hasil script yang digunakannya. blok teks dinamis.(Blok teks biasa sering disebut statis.) Mungkin kebutuhan akan blok teks dinamis seperti itu lebih sering muncul daripada kolom input.

Blok teks dinamis dibuat dengan cara yang hampir sama seperti kolom input. Buat blok teks biasa, pilih dengan alat panah dan temukan di sudut kiri atas panel Properti daftar drop-down kecil (lihat Gambar 7.4). Anda hanya perlu memilih item dari daftar ini Teks Dinamis.

Blok teks dinamis yang dipilih mirip dengan kolom input (lihat Gambar 7.9), dan panel Properti akan terlihat kira-kira sama seperti yang ditunjukkan pada Gambar. 7.10. Oleh karena itu, kami tidak akan memberikan gambaran mengenai kontrol-kontrol yang terdapat di dalamnya, namun akan membatasi diri untuk menunjukkan perbedaan-perbedaan yang ada.

Variabel yang sama digunakan untuk menampilkan teks dalam blok teks dinamis. Skrip ActionScript menempatkan teks keluaran dalam variabel tersebut, dan pemutar Flash melakukan keluarannya. Nama variabel ini dimasukkan ke dalam kolom input yang sama yang terletak di bawah daftar, yang dengannya kita baru saja mengubah blok teks biasa menjadi blok teks dinamis.

Sekarang tentang perbedaannya. Perbedaannya sebenarnya hanya satu, dari segi antarmuka dan terlebih lagi sudah tidak asing lagi bagi kita. Tombol sakelar:


Termasuk kemampuan untuk menyorot dan menyalin teks yang ditempatkan di blok teks dinamis kini tersedia, dan kami dapat menonaktifkannya jika diinginkan.

Perbedaannya dari segi kemampuannya adalah dapat dibuat blok teks dinamis dapat digulir. Sebuah blok dinamis biasa tentunya harus memiliki dimensi sedemikian rupa sehingga dapat menampung seluruh isinya. Untuk blok yang dapat digulir, ini tidak diperlukan: mirip dengan area Pengeditan Windows, ia dapat "menggulir" teks di dalamnya. Untuk mengontrol pengguliran, kita harus menulis skrip ActionScript yang sesuai - blok teks yang dapat digulir tidak berisi bilah gulir.

Untuk membuat blok teks dinamis dapat digulir, Anda harus memilihnya terlebih dahulu. Setelah ini, Anda harus menghidupkan sakelar Dapat digulir menu Teks atau item menu konteks blok teks dengan nama yang sama. Jika blok teks sedang terbuka, Anda dapat mengklik dua kali pegangan persegi yang terletak di sudut kanan bawah persegi panjang pilihan sambil menahan . Blok teks yang dapat digulir yang telah selesai ditunjukkan pada Gambar. 7.12; Perhatikan bahwa penanda yang kita klik berbentuk kotak hitam.


Berjudul “Macromedia Flash 8: Kursus pejuang muda", didedikasikan untuk produk perangkat lunak yang luar biasa ini dan Teknologi lampu kilat. 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 yang kuat 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 sakelar di situs web, formulir pendaftaran dapat dibuat dengan mudah, menggunakan pemuat Anda dapat mengontrol pemuatan data teks dan multimedia dari berbagai sumber, dll. Hari ini kita akan berkenalan dengan salah satu kelas komponen di Flash 8 - elemen antarmuka pengguna (User Interface - 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 dalam 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 gunanya 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-komponen tersebut 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, 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 berubah penampilan komponen perlu memodifikasi kode sumber. Ini misalnya komponen Alert. Karena membuat tema khusus adalah proses yang memakan waktu, kami tidak akan membahasnya secara detail. Setidaknya untuk sekarang. Itu saja.

Manajemen menetapkan tugas: harus selalu diperbarui Pemutar Flash. Skala: ~15.000 komputer, setengahnya sebenarnya membutuhkan FP.

Tampaknya masalahnya adalah - kami membuat kebijakan domain, memasukkan paket MSI dan bersukacita... Namun bukan itu masalahnya! Struktur perusahaan sangat terdistribusi, yaitu. Di lokasi terpencil dengan saluran ~1 Mbps pada 20 komputer, mendorong bahkan 15 Mb oleh politisi sudah menjadi masalah - di pagi hari karyawan menyalakan komputer dan menunggu setengah jam hingga komputer dimuat hingga semuanya diunduh dan diinstal (atau jatuh begitu saja karena batas waktu). Belum lagi fakta bahwa komputer di kantor semacam itu memiliki sifat tidak menyenangkan yaitu keluar dari domain secara berkala.

Kami membutuhkan solusi lain yang dapat berfungsi apa pun kebijakannya, tidak membebani pengguna dengan cara apa pun, dan menggunakan saluran secara minimal (setidaknya agar tidak semua orang mendownload pada saat yang bersamaan). Opsi dengan skrip juga tidak cocok karena alasan yang jelas.

Google datang untuk menyelamatkan, seperti biasa: ternyata Anda dapat menginstal server pembaruan internal dan mengonfigurasi pembaru FP bawaan di dalamnya. Dalam hal ini, Anda hanya perlu mendistribusikan file pengaturan ke klien. Detail di bawah potongan.

Menyiapkan server pembaruan

1. Kita mendapatkan perjanjian lisensi

Adobe memerlukan perjanjian lisensi untuk mendistribusikan perangkat lunaknya. Jangan melanggar ketentuan penggunaan dan mendapatkan lisensi (untungnya, tidak sulit sama sekali): FlashPlayer: Perjanjian Lisensi Distribusi Adobe Runtimes / Reader. Lisensi dikeluarkan untuk jangka waktu satu tahun. Setelah habis masa berlakunya, Anda dapat mengirimkan permintaan itu lagi.

2. Meningkatkan server web

Platformnya tidak masalah; dalam kasus saya, saya menjalankan situs ke-N di IIS di bawah Win2012. Praktis tidak menghabiskan sumber daya meskipun ~3000 komputer telah dikonfigurasi untuk server ini.

Pengaturan server:

  • Akses melalui port 80, 443 (http, https masing-masing).
    Yang pertama diperlukan, sebenarnya untuk mendownload, FP kedua akan menggunakan versi XML dari versi saat ini.
  • Sertifikat https yang valid.
    Saya mengeluarkan sertifikat berdasarkan root perusahaan, yang ada di semua mesin secara default.
  • Daftar direktori.
    Saya tidak memeriksa pekerjaan tanpanya - dokumentasi bertanya, saya memutuskan untuk melakukannya seperti yang tertulis.
Saya tidak akan menjelaskan secara detail tentang pengaturan server.

Untuk lebih jelasnya, sebut saja server FlashPlayerUpdate.domain.local.

3. Unduh sumber daya dan unggah ke server

Kami membuat pohon direktori di root server web: /pub/flashplayer/update/current/sau/ .

Pohon direktori di server saya:

Jika Anda meminta lisensi pada langkah pertama, maka sebagai tanggapan Anda akan menerima surat dengan tautan untuk mengunduh FlashPlayer - ikuti tautan ini. Jika Anda belum menerimanya atau memintanya, buka di sini: https://www.adobe.com/products/flashplayer/distribution3.html dan unduh arsip dari tautan " Unduh Sumber Daya Pembaruan Latar Belakang":

Rilis Dukungan yang Diperpanjang atau Rilis Publik

Sebuah komentar perlu dibuat di sini. Ada 2 opsi pengunduhan di halaman: Rilis Dukungan Standar (Publik) dan Diperpanjang. Dalam kasus saya, stabilitas itu penting dan fitur baru tidak diperlukan, jadi opsi ESR dipilih. Pada saat yang sama, saya menambahkan sejumlah wasir ke diri saya sendiri: versi publik dapat langsung diunduh dengan skrip dari situs web Macromedia. Saya masih belum mencari cara mengunduh ESR di Google, jadi dalam kasus saya, konten di server internal diperbarui mode manual.

Di akhir artikel saya telah melampirkan 2 skrip PowerShell: untuk pembaruan otomatis(hanya untuk versi standar; mudah di-porting ke bash), untuk memeriksa pembaruan dan memberi tahu melalui email (untuk versi apa pun, termasuk ESR).


Buka paket arsip yang diunduh ke folder /pub/flashplayer/update/current/sau/ di server.

4. Mendistribusikan file konfigurasi ke klien

Tergantung pada kapasitas sistem:

  • 32-bit: C:\Windows\ Sistem32\Macromed\Flash\mms.cfg
  • 64-bit: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
Anda dapat mendistribusikannya dengan cara apa pun. Saya menggunakan kombinasi kebijakan domain dan server administrasi antivirus (untuk komputer yang meninggalkan domain).

Dalam file tersebut, kami mengaktifkan pembaruan otomatis senyap, menentukan interval pembaruan (dalam hari), jalur ke server kami, dan, untuk berjaga-jaga, melakukan logging untuk mempermudah mendiagnosis masalah jika muncul:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Jika semuanya dilakukan dengan benar, maka Flash Player di mesin klien akan mulai memperbarui sesuai jadwal (menurut file di atas - setiap 2 hari sekali). Biasanya, layanan pembaruan Adobe berjalan satu jam sekali untuk memeriksa kondisi pembaruan - saat ini Pembaruan akan melihat file konfigurasi, mengkonfigurasi ulang pembaruan sesuai dengan pengaturan yang ditentukan dan pergi ke server baru periksa versi.

Artinya, sekitar satu jam setelah mendistribusikan file konfigurasi, Anda dapat melihat log di server untuk permintaan pemeriksaan versi.

Otomatisasi

Sebagai perwakilan klasik dari persaudaraan TI, saya benci pekerjaan manual yang rutin dan mau tidak mau mengotomatiskan proses verifikasi dan pengunduhan versi baru. Namun seperti disebutkan di atas, saya belum menemukan cara untuk mendownload versi ESR dari situs Macromedia, jadi saya hanya menggunakan skrip untuk memeriksa pembaruan. Saran dipersilakan.
Skrip untuk mengunduh pembaruan secara otomatis
Hanya untuk versi publik!

Logika operasi: skrip dengan bodohnya mengunduh file pembaruan langsung dari Macromedia untuk versi 11,15,16,17,18,19 (jika beberapa versi telah dihapus dari situs, skrip hanya akan bersumpah bahwa itu tidak dapat diunduh dan akan lewati saja) dan ganti dengan server pembaruan. Tidak ada pemeriksaan versi. Pada tahap pengujian, saya menggunakan skrip ini: Saya menjalankannya melalui penjadwal di server pada malam hari.

Jika mau, Anda dapat melintasi skrip ini dan skrip berikutnya dan mendapatkan otomatisasi penuh dengan pemeriksaan versi, pemberitahuan, dan pengunduhan hanya jika ada pembaruan.

Parameter skrip:

  • *FPROot- jalur ke folder root server pembaruan. Lokal atau jaringan. Tentu saja, pengguna dari siapa skrip akan diluncurkan harus memiliki hak menulis ke folder ini.
  • FPDownloadRoot- jalur di situs web Macromedia. Ini diatur secara default, namun dapat diubah jika perlu.
  • Unduh Proxy http:// proxy.domain.lokal.
  • Kredit Proksi
  • Agen pengguna
  • Memaksa
* - parameter yang diperlukan

Contoh penggunaan:

Powershell.exe -command "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName " -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) seperti Gecko""
Semua parameter dapat di-hardcode ke dalam skrip jika baris startup yang panjang terasa menakutkan.

Skrip untuk memeriksa pembaruan dan memberi tahu melalui email
Pembaruan diperiksa sesuai dengan versi standar, tetapi karena diperbarui pada saat yang sama (tidak ada yang membatalkan perbaikan keamanan), ini juga akan berfungsi untuk ESR. Agar skrip berfungsi, Anda perlu membuat file CurrentPublic di root server web (di sebelah folder pub), di mana Anda memasukkan versi publik saat ini untuk ActiveX(ini adalah versi ActiveX yang digunakan untuk pemeriksaan).

Logika pengoperasian: skrip membandingkan versi yang diperoleh dari file CurrentPublic dari server Anda dengan versi di server Macromedia. Itu melihat versi di server sesuai dengan logika pembaruan otomatis: pertama-tama ia mencari versi utama saat ini dalam XML, masuk ke folder dengan versi utama dan melihat versi lengkap di sana.

Parameter skrip:

  • *FPIntServerRoot- Alamat server kami. Misalnya: FlashPlayerUpdate.domain.lokal
  • FPDownloadRoot- jalur di situs web makromedia. Ini diatur secara default, namun dapat diubah jika perlu.
  • ESR- periksa versi ESR (tanpa tanda ini, versi publik akan diperiksa).
  • Unduh Proxy- server proxy, jika digunakan di perusahaan. Tulis secara lengkap: http:// proxy.domain.lokal.
  • Kredit Proksi- nama pengguna untuk otorisasi pada proxy.
  • Agen pengguna- untuk mengubah agen pengguna yang akan mengunduh PowerShell. Misalnya proxy kita dibatasi oleh UserAgents, saya menggunakan agen Internet Explorer.
  • Memaksa- menonaktifkan pemeriksaan sertifikat untuk cmdlet Invoke-Webrequest (lebih tepatnya, membuatnya mempercayai semua sertifikat).
  • *Surat Ke- alamat email tujuan pengiriman notifikasi.
  • *SuratDari- dari siapa notifikasi akan datang. Misalnya: [dilindungi email]
  • SmtpServer- server smtp yang melaluinya pesan akan dikirim.
* - parameter yang diperlukan

Contoh penggunaan:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [dilindungi email]","[dilindungi email]"-MailDari" [dilindungi email]" -SmtpServer "smtp.perusahaan.com"

Sumber daya yang digunakan

UPD

Pembaruan sedikit terlambat dari 17/06/16.

Sejak artikel ini ditulis, Adobe telah berhasil mengubah urutan akses halaman download FlashPlayer sebanyak dua kali. Alhasil, kini untuk bisa mengakses halaman download tersebut, Anda harus login terlebih dahulu ke ID Adobe penguraian halaman untuk versi ESR tidak lagi tersedia.

Saya belum repot dengan otorisasi atau menerima dan mengirim cookie melalui PowerShell. Alhasil, saya membuat ulang skrip pengecekan ESR di halaman distribusi3, yang sewaktu-waktu bisa hilang. Sejauh ini, kita akan lihat lebih jauh.

Di awal tahun, saya mengajukan pertanyaan di forum Adobe tentang topik pengecekan update versi ESR. Mereka berjanji akan menemukan sesuatu, tapi sejauh ini masalahnya masih ada.

UPD2

Suatu hari, informasi berikut muncul di halaman distribusi Flash Player (tautan yang Anda terima saat menerima lisensi distribusi):

PERHATIAN! Perubahan penting dengan Rilis Dukungan yang Diperpanjang

Rilis Dukungan yang Diperpanjang pada awalnya dirancang untuk meminimalkan waktu yang dihabiskan administrator TI untuk mensertifikasi setiap rilis baru Flash Player: Rilis Dukungan yang Diperpanjang perubahan rilis terbatas pada perubahan keamanan dan perbaikan untuk masalah fungsional penting. Pada saat itu, ada lebih banyak perubahan fungsional di setiap rilis Flash Player daripada perubahan keamanan. Namun, situasinya kini telah berubah: jumlah tindakan keamanan proaktif dan reaktif jauh melebihi perubahan fungsional. Dalam praktiknya, Rilis Dukungan yang Diperpanjang tidak lagi melindungi organisasi TI dari jumlah yang besar perubahan dilakukan pada rilis standar Flash Player, namun hanya mengurangi risiko fungsional. Dalam hal ini, keputusan dibuat untuk menghentikan Rilis Dukungan yang Diperpanjang dan berkonsentrasi pada pengembangan rilis standar saja. Tambahkan tanda

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. Versi terbaru ActionScript (yang ada 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…

Panel Tindakan

Bilah tindakan digunakan untuk menampilkan dan memasukkan program ActionScript (Gbr. 1). Ada dua mode pengoperasian 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, "menghidupkan kembali" kreasi Anda, menambahkan masukan. 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 saat kursor berada di luar tombol;
  • berputar- kursor mouse memasuki tombol;
  • mulai tersedia- kursor melampaui tombol;
  • seret- kursor memasuki batas tombol, saat tombol ditekan dan tombol mouse ditekan;
  • seret 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() - memulai atau melanjutkan pemutaran klip;
  • berhenti() - 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!

Nama

Untuk mengakses klip, kita perlu memahami konsep nama objek (nama instance) dan jalur ke suatu objek (jalur target). Mari kita sepakat 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 berada 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).

Jalurnya mencakup objek-objek yang harus kita lewati di 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 pohon, yang mempunyai suatu benda daun, dari mana fungsi tersebut dipanggil berhenti();

_root.banner._visible = salah;- buat klip spanduk, terletak di tingkat 1, tidak terlihat.



Beras. 3 - Hierarki klip

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, tapi diwaktu yang sama keberatan1 tidak dapat menghubungi keberatan3 secara langsung, karena itu tidak terkandung di dalamnya keberatan1, dan masuk 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 _akar Dan _induk- 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.

Publikasi tentang topik tersebut