こんにちは、ユーザーhabr.com様! これは、このトピックに関する3番目の記事です。 私は一日中働いていますが、すばらしいBox2Dライブラリから自分を引き離すことはできません。
1番目と
2番目の記事を読んでいない場合は、必ず見てください、楽しいです! 私は
Eclipseで働いており、Javaで書いています。 なぜ私の記事をそう呼んだのですか? 読んでください-そしてすぐにすべてが明らかになります! ネタバレ:私たちは独自の永続的なモーションマシン(自動車用を含む)を作成し、おそらくマシン自体を作成します!
図1.永久運動マシン。
したがって、今日は次のようなものを取得しようとします。
図2.エンジンを搭載したマシン。
はい、これはタイプミスではありません! 今日は、実際のエンジンを搭載したマシンを作成しますが、実際のエンジンと区別することはできません! これは、
最初の記事の「カート」ではありません。
libGDXの接続については、
最初の記事を参照してください。
ここに私のアセンブリがどのように見えるかを示す写真があります。 ConstantsクラスのUtilsパッケージをCoreフォルダーに追加しました。このフォルダーには、1定数のみ(メートルあたりのピクセル数)が含まれています。 これは、世界が巨大ではないようにするためです。
図3.アセンブリー。
com.mygdx.game.desktopのDesktopLauncherクラスのコードは次のとおりです。
このコードをクラスに貼り付けて、忘れてください。package com.mygdx.game.desktop; import com.badlogic.gdx.backends.lwjgl.LwjglApplication; import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; import com.mygdx.game.MyGdxGame; public class DesktopLauncher { public static void main(String[] arg) { LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
MyGdxGameクラスの次のコードは、com.mygdx.gameパッケージからのものです。 すべてがコードへのコメントにあります。
私たちは世界と機械を作成します。 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.CircleShape; 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 utils.Constants; public class MyGdxGame extends ApplicationAdapter { private OrthographicCamera camera; private boolean DEBUG = false; private World world; private Box2DDebugRenderer b2dr;
図4.コンパイル時に何が得られますか?
私たちは、車輪を回転させるモーターで車を作ります。 しかし、エネルギー損失がないため、永久に機能します。 したがって、永久モーションマシンを作成します。
そして、あなたはレベルの終わりに何があるのだろうか? コメントにスクリーンショットを送信してください。 最後まで記事を読んでくれてありがとう! Box2Dで自分の車を作成できることを願っています!
PSコメントであなたの質問を楽しみにしています! ゲーム物理学を長生きさせましょう!