0

Rokon を使用してゲームのグラフィカルな部分を作成し始めましたが、それが完成したとき、メニュー システムの作成とアラートの実行に多くの問題がありました。がっかりして、ゲーム エンジンなしで最初からやり直して、見栄えの良い UI を作成しました。ユーザーがゲームの開始をクリックすると、作成したグラフィックをロードするために Rokon を実行したいのですが、考えられることはすべて試しましたが、強制終了しないようにすることはできません。GameEngine は他のすべてを新しいビューと残りの部分で行うため、新しい GameEngine を作成するための基本的な呼び出しを行いました。MainActivity のコードは次のとおりです (難易度は無視して、今のところ 1 つの難易度をロードしたいだけです)。

protected void startGame(int difficulty) {
  // TODO Auto-generated method stub
  Context context = getApplicationContext();
  int duration = Toast.LENGTH_SHORT;

  Toast toast = Toast.makeText(context, "Game Started!" + "\n" + "Difficulty set to: " + difficulty, duration);
  toast.show();

  switch(difficulty){
  case 1:
  {
   //Code to start Game on Easy
   GameEngine easyGame = new GameEngine();
   easyGame.onCreate();

これが私が使用しようとしているRokon GameEngineコードです。以前に使用していたライブラリとその他のディレクトリを追加したことを確認しました...

import com.stickycoding.rokon.DrawPriority;
import com.stickycoding.rokon.RokonActivity;


public class GameEngine extends RokonActivity {

    public static final float GAME_WIDTH = 320f;
    public static final float GAME_HEIGHT = 480f;

    private GameScene scene;

    public void onCreate() {
        debugMode();
        forceFullscreen();
        forcePortrait();
        setGameSize(GAME_WIDTH, GAME_HEIGHT);
        setDrawPriority(DrawPriority.PRIORITY_VBO);
        setGraphicsPath("textures/");
        createEngine();

    }

    public void onLoadComplete() {
        Textures.load();
        setScene(scene = new GameScene());
    }
}

お互いに互換性がなく、最初から Rokon を使い続けなければならないのかもしれませんが、これを機能させる方法が必要です。

コードとデバッガーをいじって、コードのどの部分が機能しないかを理解しようとしましたが、 createEngine(); を呼び出すとエラーが発生します。それがまったく役立つ場合...他のコードの一部をコメントアウトして機能させることができるので、その行に絞り込みました。

4

1 に答える 1

1

forcePortrait() を使用しています。マニフェストでこのアクティビティの方向を縦に設定しましたか?

于 2010-08-30T12:34:15.620 に答える