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!

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Python lebih sesuai untuk sains data dan pembelajaran mesin, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya, dan sesuai untuk analisis data dan pembangunan web. 2. JavaScript adalah teras pembangunan front-end. Node.js menyokong pengaturcaraan sisi pelayan dan sesuai untuk pembangunan stack penuh.

JavaScript tidak memerlukan pemasangan kerana ia sudah dibina dalam pelayar moden. Anda hanya memerlukan editor teks dan penyemak imbas untuk memulakan. 1) Dalam persekitaran penyemak imbas, jalankan dengan memasukkan fail HTML melalui tag. 2) Dalam persekitaran Node.js, selepas memuat turun dan memasang node.js, jalankan fail JavaScript melalui baris arahan.

Cara Menghantar Pemberitahuan Tugas di Quartz terlebih dahulu Apabila menggunakan pemasa kuarza untuk menjadualkan tugas, masa pelaksanaan tugas ditetapkan oleh ekspresi cron. Sekarang ...


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna