Я создал пользовательский интерфейс без Rokon, но я бы хотел запустить Rokon позже, чтобы запустить мою игру, есть ли способ сделать это? - PullRequest
0 голосов
/ 20 июля 2010

Я начал использовать Rokon для создания графической части своей игры, но когда она была закончена, у меня возникли большие проблемы с созданием системы меню и выдачей ей предупреждений. Обескураженный, я начал все заново без игрового движка и сделал красивый интерфейс. Когда пользователь нажимает кнопку «Запустить игру», я хочу запустить Rokon, чтобы загрузить созданную мной графику, но я перепробовал все, что мог придумать, и не могу заставить ее закрыться. Я только что сделал базовый вызов, чтобы создать новый GameEngine, поскольку GameEngine делает все остальное с новым видом и остальным. Вот код в моей MainActivity (не обращайте внимания на сложность, сейчас я просто хочу загрузить одну сложность):

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 (); если это вообще поможет ... Некоторый другой код можно закомментировать, чтобы заставить его работать, поэтому я сузил его до этой строки.

1 Ответ

1 голос
/ 30 августа 2010

Вы используете forcePortrait ().Вы установили ориентацию на портрет для этого действия в манифесте?

...