Bonjour, cher lecteur! Ceci est le quatrième article sur Box2D. Et ici, je vais proposer une solution clé en main pour les programmeurs. J'avais moi-même besoin de vitesses pour mon projet, et j'ai fait 4, 6, 12 et 24 vitesses. Le code a pris 2115 lignes, 4 jours de travail. Et je veux le partager avec vous afin que vous puissiez gagner du temps pour des projets Box2D vraiment impressionnants. Tous les engrenages sont mis à l'échelle, vous pouvez définir l'angle de rotation, les coordonnées, la disponibilité, la vitesse et la puissance du moteur. Dans le code, tout est commenté en détail.
Si vous avez besoin de quelque chose comme ça (l'animation gif sera après le kat):
Figure 1. Le système d'engrenage.
Cet article est définitivement pour vous!
Figure 1. Système d'engrenage animé
La composition du projet est la même, lisez le
premier article sur la connexion de
libGDX , la création du même projet.
Le code contient une description pour tous les types d'engrenagespackage 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;

Figure 3. Engrenage à 4 dents.
Figure 4. Engrenage à 6 dents.
Figure 5. Engrenage à 12 dents.
Figure 6. Engrenage à 24 dents.
Merci d'avoir lu jusqu'au bout! J'espère que le code de cet article vous a beaucoup aidé dans votre projet!
PS Je répondrai à toutes les questions dans les commentaires.