こんにちは、読者の皆様! これは、Box2Dの4番目の記事です。 そして、ここでプログラマー向けのターンキーソリューションを提供します。 私自身はプロジェクトにギアが必要で、4、6、12、24個のギアを作りました。 コードは2115行、4日間の作業を要しました。 そして、私はそれをあなたと共有したいので、Box2Dの本当に印象的なプロジェクトのために時間を節約できます。 すべてのギアがスケーリングされ、回転角度、座標、可用性、速度、エンジン出力を設定できます。 コードでは、すべてが詳細にコメントされています。
このようなものが必要な場合(gif-animationはkatの後になります):
図1.ギアシステム。
その記事は間違いなくあなたのためです!
図1.アニメーションギアシステム
プロジェクトの構成は同じ
です。libGDXの接続に関する
最初の記事を読んで、同じプロジェクトを作成してください。
コードには、すべてのタイプのギアの説明が含まれていますpackage 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;
図3. 4つの歯を持つギア。
図4. 6歯のギア。
図5. 12歯のギア。
図6. 24歯のギア。
最後まで読んでくれてありがとう! この記事のコードがプロジェクトで大いに役立つことを願っています!
PSコメントのすべての質問に答えます。