Selamat siang, pembaca yang budiman! Ini adalah artikel keempat di Box2D. Dan di sini saya akan menawarkan solusi turnkey untuk programmer. Saya sendiri membutuhkan roda gigi untuk proyek saya, dan saya membuat roda gigi 4, 6, 12 dan 24. Kode ini mengambil 2115 baris, 4 hari kerja. Dan saya ingin membaginya dengan Anda sehingga Anda dapat menghemat waktu untuk proyek Box2D yang sangat mengesankan. Semua roda gigi diskalakan, Anda dapat mengatur sudut rotasi, koordinat, ketersediaan, kecepatan, dan tenaga mesin. Dalam kode, semuanya dikomentari secara rinci.
Jika Anda membutuhkan sesuatu seperti ini (animasi gif akan muncul setelah kat):
Gambar 1. Sistem roda gigi.
Artikel itu pasti untuk Anda!
Gambar 1. Sistem gigi animasi
Komposisi proyeknya sama, baca artikel
pertama tentang menghubungkan
libGDX , membuat proyek yang sama.
Kode tersebut berisi deskripsi untuk semua jenis roda gigipackage com.mygdx.game; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.physics.box2d.Body; import com.badlogic.gdx.physics.box2d.BodyDef; import com.badlogic.gdx.physics.box2d.Box2DDebugRenderer; import com.badlogic.gdx.physics.box2d.FixtureDef; import com.badlogic.gdx.physics.box2d.PolygonShape; import com.badlogic.gdx.physics.box2d.World; import com.badlogic.gdx.physics.box2d.joints.RevoluteJointDef; import com.badlogic.gdx.physics.box2d.joints.WeldJointDef; import utils.Constants; public class MyGdxGame extends ApplicationAdapter { private OrthographicCamera camera; private boolean DEBUG = false; private World world; private Box2DDebugRenderer b2dr; private Body basis;

Gambar 3. Gear dengan 4 gigi.
Gambar 4. Gear dengan 6 gigi.
Gambar 5. Gigi dengan 12 gigi.
Gambar 6. Gear dengan 24 gigi.
Terima kasih sudah membaca sampai akhir! Saya harap kode dari artikel ini banyak membantu Anda dalam proyek Anda!
PS Saya akan menjawab semua pertanyaan di komentar.