Isi kandungan:

Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media: 13 Langkah
Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media: 13 Langkah

Video: Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media: 13 Langkah

Video: Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media: 13 Langkah
Video: 20 MENIT PAHAM CARA MUDAH MEMBUAT MODUL PROJEK PENGUATAN PROFIL PELAJAR PANCASILA || SERI IKM #18 2024, Julai
Anonim
Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media
Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Pemuatan dan Acara Media

Pemprosesan dapat memuat banyak data luaran, di antaranya terdapat tiga jenis yang sangat biasa digunakan. Mereka adalah gambar, audio dan video secara berasingan.

Dalam bab ini, kita akan membincangkan bagaimana memuatkan audio dan video secara terperinci, digabungkan dengan acara. Pada akhirnya, anda boleh membuat papan kekunci muzik atau palet muzik anda sendiri.

Langkah 1: Baca Gambar

Sebelum memulakan, mari kita lihat kembali kaedah memuatkan gambar.

Langkah 2: Fungsi Berkaitan Gambar

Sebelum menggunakan fungsi ini, kita perlu membuat objek gambar melalui PImage. Kemudian kita dapat menggunakan fungsi ini untuk menentukan semua jenis sifat gambar.

Jangan lupa untuk menyimpan sumber gambar anda ke dalam fail data sebelum menjalankan program anda.

Langkah 3: Muzik Memuat, Main & Hentikan

Berikut ini, kami mulai memperkenalkan permohonan muzik secara rasmi kepada anda. Sangat serupa dengan pemuatan gambar, anda harus menyatakan objek audio pada awalnya. Anda boleh merujuk contoh di bawah tatabahasa sebenar.

Contoh Kod (10-1):

[cceN_cpp theme = "fajar"] import processing.sound. *;

Bunyi SoundFile;

batal persediaan () {

saiz (640, 360);

latar belakang (255);

sound = SoundFile baru (ini, "1.mp3");

}

undian tidak sah () {

}

kekunci kekosongan Ditekan () {

//Memainkan bunyi

jika (kunci == 'p') {

sound.play ();

}

// Hentikan suara

jika (kunci == 's') {

sound.stop ();

}

} [/cceN_cpp]

Penyediaan:

Memprosesnya sendiri tidak membawa perpustakaan suara. Anda perlu memuat turunnya sendiri. Oleh itu, sebelum menulis kod anda, lebih baik anda membuat persediaan berikut.

Tambahkan perpustakaan ke Pemprosesan. Inilah amalan biasa. Pilih dari bar menu untuk "Alat" - "Tambah Alat", dan kemudian beralih ke "Perpustakaan". Masukkan kata kunci perpustakaan ke ruangan carian supaya anda dapat memuat turun dan memasangnya secara langsung.

Namun, jika kita menggunakan fungsi ini di negara kita (di China), kita tidak dapat memuat turunnya dengan menghubungkan web secara langsung. Kita mesti memulakan VPN. Walaupun kita memulakannya, akan ada keadaan yang tidak stabil. Oleh itu, anda harus bersabar untuk mencubanya beberapa kali. Ini adalah kaedah pemuatan yang paling mudah. Sekiranya anda tidak dapat memasang, anda harus memuat turun dari laman web rasmi secara manual. (https://processing.org/reference/libraries/) Kerana kaedah pemasangan manual sangat rumit, kami akan membincangkannya lebih lanjut dalam bab yang lain.

Exaplain Kod:

Perpustakaan suara dapat berfungsi dengan baik setelah persiapan selesai. Kodkan kod di atas, klik RUN, maka ia akan beroperasi. Tekan kekunci "P" untuk memainkan muzik, "S" untuk menghentikan muzik.

Sekiranya sudah terbiasa dengan program, kita perlu memuatkannya terlebih dahulu. Pada awalnya, kita harus menambahkan ayat "import processing.sound. *". "import" adalah kata kunci, yang bermaksud memuat secara harfiah. Tambahkan nama perpustakaan di belakang "import", maka ia akan memuatkan perpustakaan. Ekor biasanya mengikuti tanda "*", oleh itu ia akan memuatkan semua kelas yang berkaitan dengan perpustakaan ke dalam program tanpa perlu menambahkannya satu persatu secara manual.

Dalam kalimat kedua, "SoundFile sound;" telah menyatakan objek audio. SoundFile serupa dengan PImage.

Dalam penyediaan fungsi, "sound = new SoundFile (ini," 1.mp3 ");" digunakan untuk membuat objek dan menentukan jalur pembacaannya. Di sini kita sebenarnya sudah mula menggunakan Kelas konsep baru. Buat masa ini kami tidak membincangkannya dengan mendalam. Kita hanya perlu tahu bahawa ini adalah kaedah penulisan tetap dan parameter terakhir adalah untuk mengisi alamat sumber muzik.

Antara acara keyPressed (), "sound.play ()" dan "sound.stop ()" relatif berfungsi sebagai kesan bermain dan berhenti. "." di tengah menunjukkan fungsi anggota yang bermain dan berhenti tergolong dalam objek audio. Kita boleh menganggap fungsi anggota sebagai fungsi yang termasuk dalam objek. Ini adalah milik objek ini, yang ditentukan sebelumnya. Kemudian, apabila kita perlu memainkan banyak objek audio, kita hanya perlu menambahkan ".play ()" di belakang nama pemboleh ubah relatif.

Sumber audio hendaklah disimpan ke dalam fail data di bawah katalog sketchfile yang sama (dengan akhiran pde). Sekiranya tidak ada, anda boleh membuatnya secara manual.

Jangan lupa menulis cabutan fungsi. Walaupun anda tidak melukis grafik, anda perlu memainkan muzik dengan jayanya.

Prosedur di atas nampaknya agak rumit, tetapi anda hanya perlu menambahkan beberapa ayat kod, maka anda dapat merealisasikan fungsi main. Ia sangat senang.

Pemprosesan menyokong format audio biasa seperti mp3, wav, ogg, dll.

Langkah 4: Kawalan Kelajuan Muzik

Contoh berikut akan menjadi lebih menarik. Pemprosesan telah memberikan beberapa fungsi yang dapat mengawal kelajuan bermain muzik. Pada masa yang sama, nada akan berubah dengan kelajuan bermain muzik. Apabila kita menggunakan tetikus untuk mengawalnya, ia akan menghasilkan kesan psikedelik.

Laman web video:

Contoh Kod (10-2):

[cceN_cpp theme = "fajar"] import processing.sound. *;

Bunyi SoundFile;

batal persediaan () {

saiz (640, 360);

latar belakang (255);

sound = SoundFile baru (ini, "1.mp3");

}

undian tidak sah () {

kelajuan apungan = tetikusX / (apungan) lebar * 3;

kadar bunyi (kelajuan);

float vol = mouseY / (float) tinggi * 4;

sound.amp (jilid);

}

kekunci kekosongan Ditekan () {

//Memainkan bunyi

jika (kunci == 'p') {

sound.play ();

}

// Hentikan suara

jika (kunci == 's') {

sound.stop ();

}

} [/cceN_cpp]

Terangkan Kod:

Fungsi.rate () mengawal kelajuan bermain audio. Nilai dalam kurungan menentukan kelajuan bermain yang pantas dan lambat. Apabila nilainya adalah 1, kelajuan bermain adalah normal. Apabila melebihi 1, maka percepat; sementara di bawah 1, kemudian perlahankan.

Fungsi.amp () mengawal kelantangan audio. Nilai dalam kurungan menentukan nilai isipadu. Apabila 1, nilai isipadu adalah normal. Apabila melebihi 1, kemudian tingkatkan kelantangan; sementara berada di bawah 1, kemudian turunkan kelantangan.

Di sini kita telah membina dua pemboleh ubah tempatan kelajuan dan vol sebagai parameter untuk dimuatkan. Oleh itu koordinat mendatar tetikus akan mengubah nada muzik, dan koordinat menegak akan mengubah kelantangan muzik.

Langkah 5: Main dan Berhenti Video

Dalam Pemprosesan, pemuatan video serupa dengan pemuatan audio. Anda mesti memuat turun pustaka video terlebih dahulu. (https://processing.org/reference/libraries/video/index.html)

Contoh Kod (10-3):

[cceN_cpp tema = "fajar"] import processing.video. *;

Filem mov;

batal persediaan () {

saiz (640, 360);

latar belakang (0);

mov = Filem baru (ini, "1.mov");

}

batal movieEvent (Filem filem) {

mov.read ();

}

undian tidak sah () {

gambar (mov, 0, 0, 640, 360);

}

kekunci kekosongan Ditekan () {

jika (kunci == 'p') {

mov.play ();

}

jika (kunci == 's') {

mov.stop ();

}

jika (kunci == 'd') {

mov.pause ();

}

} [/cceN_cpp]

Tangkapan Skrin Video:

Terangkan Kod:

Kalimat pertama "import processing.video. *;" Digunakan untuk memuatkan pustaka video.

Kalimat kedua "Movie mov;" digunakan untuk menyatakan objek video. Antaranya, fungsi "Movie" serupa dengan PImage.

Dalam penyiapan fungsi, kesan "mov = new Movie (ini," 1.mov ");" adalah untuk membuat objek dan menentukan jalan baca. Parameter terakhir hendaklah diisi dengan alamat sumber video.

Di sebalik persediaan, movieEvent mewakili acara video. Ia digunakan untuk mengemas kini dan membaca maklumat video. "mov.read ()" dalam acara bermaksud membaca.

Kecuali untuk menampilkan gambar, fungsi gambar juga dapat memaparkan video. Kita boleh menganggap objek video sebagai gambar yang dinamik. Parameter pertama, kami mengisi nama pemboleh ubah objek video. Parameter kedua dan ketiga adalah koordinat mendatar dan menegak yang dilukis oleh video. Parameter keempat dan kelima menentukan panjang dan lebar paparan video.

Fungsi.play () bermaksud bermain. Fungsi.stop () bermaksud berhenti, dan ia akan menetapkan semula video. Fungsi.pause () bermaksud jeda. Ini akan mengganggu permainan semasa, yang akan berterusan sehingga fungsi.play () dipanggil.

Langkah 6: Kawalan Kelajuan Video

Contoh Kod (10-4):

[cceN_cpp tema = "fajar"] import processing.video. *;

Filem mov;

batal persediaan () {

saiz (640, 360);

latar belakang (0);

mov = Filem baru (ini, "transit.mov");

}

batal movieEvent (Filem filem) {

mov.read ();

}

undian tidak sah () {

gambar (mov, 0, 0, lebar, tinggi);

float newSpeed = mouseX / (float) lebar * 4;

mov.speed (newSpeed);

}

kekunci kekosongan Ditekan () {

jika (kunci == 'p') {

mov.play ();

}

jika (kunci == 's') {

mov.stop ();

}

jika (kunci == 'd') {

mov.pause ();

}

}

[/cceN_cpp]

Terangkan Kod:

Fungsi.speed () boleh digunakan untuk mengawal kelajuan permainan video. Apabila nilai parameter adalah 1, kelajuan bermain adalah normal. Apabila nilai melebihi 1, maka percepat; sementara di bawah 1, kemudian deccelerate.

Kerana kami telah membina pemboleh ubah tempatan newSpeed dan mengimportnya ke fungsi setSpeed (), koordinat tetikus akan mempengaruhi kelajuan main video secara langsung.

Untuk lebih banyak contoh mengenai video, anda boleh merujuk ke Perpustakaan - Video di perpustakaan kes.

Langkah 7: Memproses Kejadian Biasa

Sebelum ini, kami telah memperkenalkan acara keyPressed () sahaja. Ia akan dipicu setelah papan kekunci ditekan. Berikut ini, kami akan memperkenalkan acara umum lain dalam Pemprosesan untuk anda.

Penggunaan peristiwa di atas serupa dengan keyPressed. Mereka tidak mempunyai urutan dalam penulisan kod. Dengan kata lain, tidak kira acara yang anda buat sebelum atau di belakang penyediaan fungsi, anda akan mendapat hasil yang sama. Perintah pelaksanaan hanya berkaitan dengan keadaan pencetus peristiwa itu sendiri. Hanya jika syarat itu dipenuhi, maka ia akan dilaksanakan. Peristiwa di atas semuanya sangat mudah difahami. Anda hanya perlu melakukan percubaan kecil, maka anda dapat memahami penggunaannya dengan cepat.

Aliran Acara

Kita boleh menggunakan contoh untuk mengetahui susunan pelaksanaan peristiwa.

Contoh Kod (10-5):

[cceN_cpp tema = "fajar"] batal persediaan () {

frameRate (2);

println (1);

}

undian tidak sah () {

println (2);

}

kekosongan tetikus Ditekan () {

println (3);

}

kekosongan tetikusDihapus () {

println (4);

}

kosongkan tetikus Dikeluarkan () {

println (5);

}

kekunci kekosongan Ditekan () {

println (6);

}

kekunci terbatalDikeluarkan () {

println (7);

} [/cceN_cpp]

Terangkan Kod:

Dalam penyediaan fungsi, fungsi frameRate () telah menetapkan kadar kelajuan operasi program menjadi 2 bingkai sesaat. Menurunkan kadar bingkai dapat membantu kita melihat output di konsol sekiranya peristiwa yang dicetuskan akan segera disikat oleh data baru ke belakang.

Cuba gerakkan tetikus anda, klik tetikus, lepaskan tetikus dan perhatikan hasilnya. Ketahui pesanan pelaksanaan acara melalui println.

Apa yang perlu diperhatikan ialah fungsi menggambar tidak boleh ditulis ke acara lain kecuali undian fungsi, atau tidak dapat dipaparkan. Sekiranya kita ingin mengawal penyembunyian dan paparan komponen grafik melalui peristiwa seperti keyPressed, kita mungkin mempertimbangkan untuk membina pemboleh ubah bool sebagai medium.

Acara akan dilaksanakan dengan teratur. Hanya setelah semua kod dalam peristiwa semasa dilaksanakan, ia akan melaksanakan kod tersebut dalam acara berikutnya.

Langkah 8: Contoh Komprehensif - Papan Kekunci Muzik

Menggabungkan dengan acara yang baru digenggam, kita dapat menambahkan interaksi baru ke program kita. Selanjutnya, hanya dengan beberapa minit, kita dapat analog papan kekunci muzik dengan mudah.

Laman web video:

Contoh Kod (10-6):

[cceN_cpp tema = "fajar"] import processing.sound. *;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean key1, key2, key3, key4, key5;

batal persediaan () {

saiz (640, 360);

latar belakang (255);

noStroke ();

sound1 = SoundFile baru (ini, "do.wav");

sound2 = SoundFile baru (ini, "re.wav");

sound3 = SoundFile baru (ini, "mi.wav");

sound4 = SoundFile baru (ini, "fa.wav");

sound5 = SoundFile baru (ini, "so.wav");

}

undian tidak sah () {

latar belakang (255, 214, 79);

rectMode (PUSAT);

apungan w = lebar * 0.1;

apungan h = tinggi * 0.8;

jika (kunci1) {

isi (255);

} lain {

isi (238, 145, 117);

}

segiempat tepat (lebar / 6, tinggi / 2, w, h);

jika (kunci2) {

isi (255);

} lain {

isi (246, 96, 100);

}

segiempat tepat (lebar / 6 * 2, tinggi / 2, w, h);

jika (kunci3) {

isi (255);

} lain {

isi (214, 86, 113);

}

segiempat tepat (lebar / 6 * 3, tinggi / 2, w, h);

jika (kunci4) {

isi (255);

} lain {

isi (124, 60, 131);

}

segiempat tepat (lebar / 6 * 4, tinggi / 2, w, h);

jika (kunci5) {

isi (255);

} lain {

isi (107, 27, 157);

}

segiempat tepat (lebar / 6 * 5, tinggi / 2, w, h);

}

kekunci kekosongan Ditekan () {

jika (kunci == 'a') {

sound1.play ();

key1 = benar;

}

jika (kunci == 's') {

sound2.play ();

key2 = benar;

}

jika (kunci == 'd') {

sound3.play ();

key3 = benar;

}

jika (kunci == 'f') {

sound4.play ();

key4 = benar;

}

jika (kunci == 'g') {

sound5.play ();

key5 = benar;

}

}

kekunci terbatalDikeluarkan () {

jika (kunci == 'a') {

key1 = salah;

}

jika (kunci == 's') {

key2 = palsu;

}

jika (kunci == 'd') {

key3 = salah;

}

jika (kunci == 'f') {

key4 = palsu;

}

jika (kunci == 'g') {

key5 = salah;

}

} [/cceN_cpp]

Terangkan Kod:

Kita perlu membuat pelbagai objek audio untuk membaca maklumat bunyi relatif agar dapat memainkan bunyi yang berbeza apabila kunci yang berbeza dicetuskan.

Di sini kita menggunakan kekunci acara baruDisampaikan (). Fungsi acara ini adalah untuk mengembalikan warna papan kekunci ke warna asalnya. Apabila melepaskan kunci, ia akan dicetuskan.

5 nilai boolean yang dinyatakan di kepala digunakan untuk mengesan status kunci.

Langkah 9: Contoh Komprehensif - Palet Muzik 1

Selain acara papan kekunci, acara tetikus adalah perkara baik yang harus kita gunakan secara fleksibel. Contoh berikut adalah untuk kita membuat palet muzik, di antaranya kita telah menggunakan dua acara yang berkaitan dengan tetikus.

Laman web video:

Contoh Kod (10-7):

[cceN_cpp theme = "fajar"] import processing.sound. *;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean isDragging;

batal persediaan () {

saiz (640, 360);

latar belakang (255, 214, 79);

noStroke ();

sound1 = SoundFile baru (ini, "do.wav");

sound2 = SoundFile baru (ini, "re.wav");

sound3 = SoundFile baru (ini, "mi.wav");

sound4 = SoundFile baru (ini, "fa.wav");

sound5 = SoundFile baru (ini, "so.wav");

}

undian tidak sah () {

jika (isDragging) {

isi (107, 27, 157, 100);

elips (mouseX, mouseY, 16, 16);

}

}

kosongkan tetikusDeret () {

isDragging = benar;

jika (mouseX> 100 && mouseX <105) {

sound1.play ();

}

jika (mouseX> 200 && mouseX <205) {

sound2.play ();

}

jika (mouseX> 300 && mouseX <305) {

sound3.play ();

}

jika (mouseX> 400 && mouseX <405) {

sound4.play ();

}

jika (mouseX> 500 && mouseX <505) {

sound5.play ();

}

}

kosongkan tetikus Dikeluarkan () {

isDragging = salah;

} [/cceN_cpp]

Terangkan Kod:

Kami berharap hanya apabila kami menekan tetikus dan menyeretnya, kami dapat menggambar. Oleh itu, kita perlu membina pemboleh ubah boolean isDragging untuk mendapatkan status semasa.

Semasa menyeret tetikus, isDragging menjadi nilai benar sehingga fungsi menggambar dalam Draw akan dijalankan. Ia akan meninggalkan jejak di skrin. Apabila kita melepaskan tetikus, isDragging menjadi nilai palsu. Oleh itu, fungsi lukisan dalam fungsi undian akan menghentikan pelaksanaannya.

Kami telah merancang beberapa keadaan pencetus dalam acara menyeret tetikus. Contohnya, apabila koordinat mendatar tetikus antara 100 dan 105 piksel, muzik akan dimainkan secara automatik. Ini menjadikan skrin membuat beberapa rentetan yang tidak kelihatan. Hanya jika tetikus melewati kawasan tertentu, ia akan mencetuskan muzik relatif.

Langkah 10: Contoh Komprehensif - Palet Muzik 2 (Versi Dikemas kini)

Kesan daripada contoh di atas sudah cukup baik. Tetapi jika kita memerhatikannya dengan teliti, kita akan menemui banyak masalah. Contohnya, apabila tetikus bergerak sangat pantas, ia akan meninggalkan titik bulat di skrin setiap kali bergerak. Ia bukan garis lurus yang koheren. Sementara itu, ia juga menyebabkan kebocoran muzik. Walaupun tetikus bergerak sangat perlahan, melewati posisi ketika koordinat mendatar berada di antara 100 dan 105, ia akan menyiarkan muzik untuk beberapa kali dalam masa yang sangat singkat, yang memberi anda perasaan tersekat. Semua masalah ini, kita dapat menyelesaikannya melalui contoh di bawah.

Anda boleh menonton video di pautan di bawah:

v.qq.com/x/page/w03226o4y4l.html

Contoh Kod (10-8):

[cceN_cpp theme = "fajar"] import processing.sound. *;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean isDragging;

batal persediaan () {

saiz (640, 360);

latar belakang (255, 214, 79);

noStroke ();

sound1 = SoundFile baru (ini, "do.wav");

sound2 = SoundFile baru (ini, "re.wav");

sound3 = SoundFile baru (ini, "mi.wav");

sound4 = SoundFile baru (ini, "fa.wav");

sound5 = SoundFile baru (ini, "so.wav");

}

undian tidak sah () {

jika (isDragging) {

strok (107, 27, 157, 100);

berat badan (10);

garis (mouseX, mouseY, pmouseX, pmouseY);

}

}

kosongkan tetikusDeret () {

isDragging = benar;

jika ((mouseX - 100) * (pmouseX - 100) <0) {

sound1.play ();

}

jika ((mouseX - 200) * (pmouseX - 200) <0) {

sound2.play ();

}

jika ((mouseX - 300) * (pmouseX - 300) <0) {

sound3.play ();

}

jika ((mouseX - 400) * (pmouseX - 400) <0) {

sound4.play ();

}

jika ((mouseX - 500) * (pmouseX - 500) <0) {

sound5.play ();

}

}

kosongkan tetikus Dikeluarkan () {

isDragging = salah;

} [/cceN_cpp]

Terangkan Kod:

Di sini kita telah menggunakan dua pemboleh ubah pmouseX dan pmouseY yang dibawa dalam sistem Pemprosesan itu sendiri. Mereka serupa dengan mouseX dan mouseY tetapi apa yang mereka perolehi adalah koordinat tetikus pada bingkai terakhir.

Dalam cabutan fungsi, kami telah menggunakan garis fungsi () untuk menggantikan elips fungsi asal (). Ini menjadikan koordinat bingkai terakhir dihubungkan dengan koordinat bingkai semasa secara langsung. Oleh itu, kita dapat melukis garis lurus atau lengkung yang koheren.

Sekiranya mouseDragged, kami telah merancang keadaan pemicu baru. Dengan menilai sama ada koordinat bingkai terakhir dan bingkai semasa berada di sisi yang sama untuk mengetahui sama ada koordinat tertentu disilang. Ambil keadaan ini sebagai contoh: "if ((mouseX - 100) * (pmouseX - 100) <0)". Antaranya, dari nilai positif dan negatif yang dihasilkan dari "mouseX - 100", kita dapat mengetahui sama ada mouseX berada di sebelah kanan atau kiri kodinat mendatar 100. Begitu juga dengan "pmouseX - 100". Oleh itu, apabila dua titik di depan dan belakang tidak berada di sisi yang sama, positif mengalikan negatif, ia akan mendapat nombor negatif baru. Oleh itu syarat pelaksanaannya dipenuhi.

Di atas adalah ungkapan yang dipermudahkan, yang telah menggunakan algoritma matematik tertentu dengan bijak - Dua darab negatif akan menghasilkan positif. Anda juga boleh membahagikannya kepada dua situasi untuk dibincangkan secara berasingan. Walau bagaimanapun, adalah lebih rumit untuk menulis keadaan penilaian. Syarat penghakiman "if ((mouseX = 100) || (mouseX> 100 && pmouseX <= 100))" bersamaan dengan syarat menentukan kod sumber.

Langkah 11: Fungsi Relatif Mengenai Audio & Video Control

Fungsi yang disebutkan di atas mencukupi untuk senario penggunaan umum. Sekiranya anda ingin mencernanya dengan mendalam, di sini saya telah mengumpulkan beberapa fungsi biasa yang berkaitan dengan audio dan video untuk anda. Anda boleh meneroka penggunaannya mengikut keperluan anda sendiri.

Untuk pengenalan lebih lanjut, anda boleh merujuk dokumen dari laman web rasmi.

Audio (https://processing.org/reference/libraries/sound/index.html)

Video (https://processing.org/reference/libraries/video/index.html)

Artikel ini berasal dari pereka Wenzy.

Langkah 12: Bacaan Relatif:

Panduan Pengaturcaraan Menarik untuk Pereka - Memproses Sentuhan Awal

Panduan Pengaturcaraan Menarik untuk Pereka - Buat Program Pemprosesan Pertama Anda

Panduan Pengaturcaraan Menarik untuk Pereka - Menjalankan Gambar Anda (Bahagian Pertama)

Panduan Pengaturcaraan Menarik untuk Pereka - Menjalankan Gambar Anda (Bahagian Kedua)

Panduan Pengaturcaraan Menarik untuk Pereka-Pengendalian Proses Program- Pernyataan Gelung

Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program - Pernyataan Keadaan (Bahagian Pertama)

Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program - Pernyataan Keadaan (Bahagian Kedua)

Panduan Pengaturcaraan Menarik untuk Pereka - Fungsi Custom dan Fractal Recurion

Panduan Pengaturcaraan Menarik untuk Pereka - Fungsi Custom dan Fractal Recurion

Panduan Pengaturcaraan Pemprosesan Menarik untuk Pereka - Kawalan Warna

Langkah 13: Sumber

Artikel ini berasal dari:

Jika ada pertanyaan, Anda dapat menghubungi: [email protected].

Disyorkan: