matter.js menyokong semua pelayar arus perdana. Di samping itu, ia sesuai untuk peranti mudah alih kerana ia mengesan sentuhan dan responsif. Semua ciri-ciri ini menjadikannya bernilai masa untuk belajar menggunakan enjin, kerana ini memudahkan untuk membuat permainan atau simulasi 2D berasaskan fizik. Dalam tutorial ini, saya akan meliputi asas -asas perpustakaan ini, termasuk pemasangan dan penggunaannya, dan memberikan contoh yang boleh dijalankan.
Pemasangan
anda boleh memasang matter.js dengan arahan berikut menggunakan pengurus pakej seperti npm:
npm install matter-jsanda juga boleh mendapatkan pautan ke perpustakaan dari CDN dan memasukkannya secara langsung dalam projek anda seperti ini:
<!-- CDN鏈接 -->matter.js sering menerbitkan kemas kini, yang mungkin memerlukan beberapa pengubahsuaian kecil untuk kod anda untuk menjadikannya berfungsi dengan baik. Contoh -contoh dalam tutorial ini adalah berdasarkan versi 0.18.0.
Contoh asas
Cara terbaik untuk belajar Matter.js adalah melihat beberapa kod sebenar dan memahami bagaimana ia berfungsi. Dalam bahagian ini, kami akan membuat beberapa objek dan memperkenalkan baris kod yang diperlukan mengikut baris.
const Engine = Matter.Engine, Render = Matter.Render, Runner = Matter.Runner, Bodies = Matter.Bodies, Composite = Matter.Composite; const iEngine = Engine.create(); const iRunner = Runner.create(); const iRender = Render.create({ element: document.body, engine: iEngine, options: { width: 800, height: 400, wireframes: false, background: "white" } }); const boxA = Bodies.rectangle(400, 200, 80, 80); const ballA = Bodies.circle(380, 100, 40, 10); const ballB = Bodies.circle(460, 10, 40, 10); const ground = Bodies.rectangle(400, 380, 810, 60, { isStatic: true }); Composite.add(iEngine.world, [boxA, ballA, ballB, ground]); Render.run(iRender); Runner.run(iRunner, iEngine);kita mula -mula membuat alias untuk semua modul Matter.js yang mungkin diperlukan dalam projek ini.
Modul Matter.Runner membolehkan anda mengakses gelung permainan untuk kemas kini berterusan ke enjin dan dunia anda.
Modul Matter.Composite membolehkan anda membuat koleksi, kekangan, atau objek komposit lain objek. Kompleks boleh mengandungi objek tunggal atau keseluruhan simulasi.
Baris seterusnya menggunakan kaedah
modul Matter.Engine
untuk membuat enjin baru. Begitu juga, kami juga mencipta pelari baru dan penghantar baru. Parameter create([settings])
dalam kaedah di atas sebenarnya adalah objek pasangan nilai utama yang menimpa nilai lalai sifat-sifat tertentu yang berkaitan dengan enjin. Untuk contoh kami, kami telah meninggalkan segala -galanya sebagai lalai. settings
Sebagai contoh, anda boleh mengawal faktor skala masa global untuk semua objek di dunia. Menetapkan nilai kurang daripada 1 akan menyebabkan dunia berinteraksi dalam gerakan perlahan. Begitu juga, nilai -nilai yang lebih besar daripada 1 akan menjadikan dunia cepat. Anda akan mengetahui lebih lanjut mengenai modul
Selepas Matter.Engine
, kami menggunakan kaedah
untuk membuat penerima baru. Seperti modul enjin, parameter tetapan dalam kaedah di atas adalah objek untuk menentukan pilihan yang berbeza untuk parameter. Anda boleh menggunakan kekunci Matter.Render
untuk menentukan unsur -unsur yang harus dimasukkan ke dalam kanvas. Begitu juga, anda juga boleh menggunakan kekunci create([settings])
untuk menentukan unsur -unsur kanvas yang harus menjadikan dunia. element
Terdapat kekunci engine
yang boleh anda gunakan untuk menentukan enjin yang anda gunakan untuk dunia rendering. Terdapat juga kekunci options
yang sebenarnya menerima objek sebagai nilainya. Anda boleh menggunakan kekunci ini untuk menetapkan nilai untuk parameter yang berbeza, seperti width
atau height
kanvas. Anda juga boleh menghidupkan atau mematikan wireframe dengan menetapkan nilai kekunci wireframe
ke true
atau false
masing -masing. Kami juga membuat warna kanvas di dunia kita putih dengan menetapkan nilai latar belakang menjadi putih.
beberapa baris seterusnya membuat objek yang berbeza yang akan berinteraksi di dunia kita. Objek ini dibuat dalam matter.js menggunakan modul Matter.Bodies
. Dalam contoh ini, kita hanya menggunakan kaedah circle()
dan rectangle()
untuk membuat dua lingkaran dan segi empat tepat. Kaedah lain juga boleh digunakan untuk membuat poligon yang berbeza.
dalam modul Matter.Composite
. Selepas menambah objek yang diperlukan ke dunia kita, kita hanya perlu menjalankan pelari dan penyokong menggunakan kaedah add()
dalam modul masing -masing. Ini pada dasarnya adalah semua kod yang anda perlukan untuk membuat dan membuat dalam dunia. run()
modul biasa.js
Terdapat lebih daripada 20 modul yang berbeza dalam matter.js. Semua modul ini menyediakan kaedah dan sifat yang berbeza yang berguna untuk mewujudkan pelbagai jenis simulasi dan membolehkan anda berinteraksi dengan mereka. Beberapa modul ini mengendalikan perlanggaran, sementara yang lain mengendalikan rendering dan simulasi.
Contoh -contoh di bahagian sebelumnya menggunakan empat modul yang berbeza untuk mengendalikan rendering, simulasi, dan penciptaan objek. Dalam bahagian ini, anda akan belajar tentang peranan beberapa modul yang biasa digunakan dalam matter.js.
- enjin : Anda memerlukan enjin untuk mengemas kini simulasi dunia matter.js. Modul
Engine
menyediakan kaedah dan sifat yang berbeza yang membolehkan anda mengawal tingkah laku enjin yang berbeza. - Render : Renderer diperlukan untuk membuat objek sebenar yang dapat dilihat oleh pengguna dalam simulasi. Anda boleh menggunakannya untuk membangunkan permainan asas yang menyokong elf dan banyak lagi.
- Runner : Objek di mana -mana dunia yang anda simulasi akan sentiasa berinteraksi antara satu sama lain. Modul pelari mengendalikan kemas kini berterusan ini ke enjin dan dunia. Badan -badan
- modul :
Bodies
mengandungi kaedah yang berbeza yang dapat membantu anda membuat badan tegar dengan bentuk biasa seperti bulatan, segi empat tepat, atau trapezoid. - Body : Modul ini menyediakan anda dengan kaedah dan sifat yang berbeza untuk membuat dan memanipulasi badan tegar yang anda buat menggunakan fungsi dalam modul
Bodies
. Modul ini membolehkan anda skala, berputar, atau menterjemahkan objek tunggal. Ia juga mempunyai fungsi yang membolehkan anda menentukan halaju, ketumpatan, atau inersia objek yang berbeza. Oleh kerana terdapat banyak fungsi, tutorial ketiga dalam siri ini hanya membincangkan kaedah dan sifat yang terdapat dalam modulBody
. - Komposit : Sama seperti modul
Bodies
, modul ini mengandungi kaedah yang berbeza yang boleh anda gunakan untuk membuat objek komposit dengan konfigurasi biasa. Sebagai contoh, anda boleh membuat timbunan atau piramid kotak segi empat tepat menggunakan kaedah tunggal dalam modulComposites
. - Modul Komposit :
Composite
mempunyai pelbagai kaedah dan sifat yang membolehkan anda membuat dan memanipulasi objek komposit. Anda boleh membaca lebih lanjut mengenai modulComposite
danComposites
dalam tutorial keempat dalam siri ini. - Kekangan : Modul ini membolehkan anda membuat dan memanipulasi kekangan. Anda boleh menggunakan kekangan untuk memastikan bahawa dua objek atau titik ruang dunia tetap dan objek disimpan pada jarak tetap. Ini sama dengan menghubungkan dua objek melalui tetulang. Anda boleh mengubah kekukuhan kekangan ini supaya rod mula menjadi lebih seperti musim bunga. Matter.js menggunakan kekangan ketika membuat pendulum Newtonian atau kompleks rantai.
- MouseConstraint : Modul ini memberikan anda kaedah dan sifat yang berbeza yang membolehkan anda membuat dan memanipulasi kekangan tetikus. Ini berguna apabila anda mahukan objek yang berbeza di dunia untuk berinteraksi dengan pengguna.
Pemikiran akhir
Tutorial ini bertujuan untuk memperkenalkan anda ke Perpustakaan Matter.js. Dengan ini, saya telah memberikan gambaran ringkas mengenai fungsi dan pemasangan perpustakaan. Contoh asas yang melibatkan dua lingkaran dan persegi menunjukkan betapa mudahnya untuk membuat simulasi mudah menggunakan perpustakaan.
Sejak matt.js mempunyai banyak modul, masing -masing menambah pendekatan uniknya sendiri ke enjin, saya sudah membuat ringkasan ringkas beberapa modul umum. Selebihnya siri ini akan memberi tumpuan kepada menjelaskan modul yang biasa digunakan dengan lebih terperinci.
Siaran ini telah dikemas kini dengan sumbangan dari Monty Shokeen. Monty adalah pemaju stack penuh yang juga suka menulis tutorial dan mempelajari perpustakaan JavaScript baru.
Atas ialah kandungan terperinci Bermula dengan Matter.js: Pengenalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
