こんにちは 私はgame-devの分野で自分自身を試してみると同時に、それがどのようであったかを教えて示すことにしました。 第二部は
こちらです。
ゲームは星座が配置されている画面です。 この星座の各星には独自の色があります(注)。 たとえば、メモ「Do」は通常赤で、「Mi」は黄色で表されます。 結果は次のとおりです。

したがって、各レベルは新しい星座と新しいメロディーです。 星は最初の4つの音を演奏し、同じ順序で繰り返す必要があります。 次に、レベルが完了するまで、最初の4つのノートにさらに4つが追加されます。
libGDXフレームワークを使用して記述します。 私はこの問題の初心者として、何よりも彼が好きでした。 そして、私はそれに関するより多くの情報を見つけました。 それでは始めましょう。
必要なもの:
- 日食
- グラドル
- Android SDK
- libGDX最新バージョン
- 頭+手+忍耐
プロジェクトを手動で作成しません。 gdx-setupを使用する方が簡単です。 だから、それを実行します:
java -jar gdx-setup.jar
次に入力します:
- 名前: 「宇宙の歌」
- パッケージ: "en.yoursite.songs_of_the_space"
- ゲームクラス: 「MyGame」
- 宛先: パス/ to / your / workspace / songs_of_the_space
- Android SDK: パス/ to / your / sdk
- libGDXバージョン:Nightlies
- サブプロジェクト: デスクトップ、Android
- 拡張機能: Freetype
[
生成]をクリックし、プロセスの終了後にEclipseに移動します。
Eclipseで、[
インポート]-> [Gradle]-> [Gradle Project]を選択します。 次に
参照します..プロジェクトを探し、
ビルドします。 完了したら、すべてのプロジェクトを選択して、
Finishを作成します。 完了後、プロジェクトのリストにプロジェクトが表示されます。 すぐにメインプロジェクト(
コア )->
MyGame.javaに移動します。
gdxが作成したすべてをクリアし、
ApplicationAdapterではなく
Gameからも継承します。 その結果、クラスは次の形式を取得する必要があります。
public class MyGame extends Game { @Override public void create() { } @Override public void render() { super.render(); } }
次。 新しいパッケージを作成し、
screensと呼び
ます 。 そして、3つのクラスがあります。
- MainMenuScreen-アプリケーションの初期画面を担当します
- LevelScreen-レベル選択画面を担当します
- PlayScreen-ゲーム画面を担当します
それらはすべて、
Screenインターフェースから継承する必要があります。 継承に必要なすべてのメソッドを追加し、MainMenuScreenを除くすべてを閉じます。 次のように記述します。
public class MainMenuScreen implements Screen {
次。 依存関係のインポートを行います(Shift + Ctrl + O)。 メインクラス
MyGame.javaに移動します。 以下を追加します。
public class MyGame extends Game {
- '`' <>「\\ / + =()*&;, {} \。"; public class MyGame extends Game {
インポートを行い、
managers (たとえば)と呼ばれる新しい
パッケージを作成します。
XMLparse.javaクラスがあります。 なぜこれが必要なのですか? 次に、XMLファイルから取得するレベルなどを確認します。 ところで、
assetフォルダーに
xmlフォルダーを作成します(
android project-> asset )。 その中のフォルダー:
フォントをfontsフォルダーに入れます。 そして、
xmlフォルダーで、
levelsフォルダーを作成します。 デスクトッププロジェクト(F5)を更新して、すべてが選択されるようにします。
それでは 、
XMLparse.javaクラスにデータを入力しましょう。 私たちはそれに以下を書きます:
public class XMLparse { public Array<String> XMLparseLevels() { Array<String> levels = new Array<String>(); Array<Integer> int_levels = new Array<Integer>(); FileHandle dirHandle; if (Gdx.app.getType() == ApplicationType.Android) { dirHandle = Gdx.files.internal("xml/levels"); } else { dirHandle = Gdx.files.internal(System.getProperty("user.dir") + "/assets/xml/levels");
まあ何? 最後に、LevelScreen.javaクラスにデータを入力しましょう。 ただし、その前に、
アセット-> xml-
> levelsフォルダーに1.xml、2.xmlなどの名前でいくつかのxmlファイルを作成します。 そして、クラスでは次のように書きます:
public class LevelScreen implements Screen { final MyGame game; private Stage stage; private Table table; private LabelStyle labelStyle; private TextButton level; private Array<String> levels; public LevelScreen(MyGame gam) { game = gam; stage = new Stage(new ScreenViewport()); Skin skin = new Skin(); TextureAtlas buttonAtlas = new TextureAtlas(Gdx.files.internal("images/game/images.pack")); skin.addRegions(buttonAtlas); TextButtonStyle textButtonStyle = new TextButtonStyle(); textButtonStyle.font = game.levels; textButtonStyle.up = skin.getDrawable("level-up"); textButtonStyle.down = skin.getDrawable("level-down"); textButtonStyle.checked = skin.getDrawable("level-up");
うわー、私はすでにたくさん書いた。 次の部分では(これが公開のすべての段階を通過する場合)、次のことを行います。
- PlayScreenクラスを埋める
- スターオブジェクト、メモなどを追加します。
レッスンファイルご清聴ありがとうございました!
更新私は記事を急いでいたので、1つの重要なポイントを説明するのを忘れていました。そのため、プロジェクトは開始されません。 ごめんなさい したがって、
libGDX Stageの子孫となる独自のステージクラス(
Stage )も作成する必要があります。
パッケージ マネージャーに移動して、
PlayStage.javaというクラスを作成します。 彼のコードは:
public class PlayStage extends Stage { public PlayStage(ScreenViewport screenViewport) { super(screenViewport); }
現在、LevelScreenでは、ステージではなくPlayStageクラスのオブジェクトを作成しているため、エラーは発生しません。 そしてもう一つ追加。 パラメーターを使用してコンストラクターを指定する必要があるため、
PlayScreenクラスを準備し
ましょう 。 コンパイラが誓うことがないように、それを書いて他のメソッドを生成します。 コード:
public class PlayScreen implements Screen { final MyGame game;