PlayN Tripleplay无法使用Android Nexus 7

时间:2013-02-09 06:33:53

标签: android playn

我使用PlayN的Tripleplay框架定义了游戏的主菜单。很遗憾,我无法在Nexus 7上显示它。

这有什么奇怪的 - 如果我运行Java版本一切正常 - 但每当我运行Android版本时都没有显示 - 日志表明整个UI已构建

在Android上使用Tripleplay框架是否有任何问题 - Java工作正常。

以下是代码:

public class MainMenuStateImpl extends AbstractState implements MenuState {

  private Interface ui;
  private GroupLayer groupLayer;

  @Inject
  public MainMenuStateImpl(StateManager stateManager) {
    super(stateManager);
  }

  @Override
  public void initialize() {
    PlayN.log().debug("initializing main menu");
    groupLayer = graphics().createGroupLayer();
    graphics().rootLayer().add(groupLayer);
    ui = new Interface();

    final Root root = ui.createRoot(AxisLayout.vertical().gap(15), SimpleStyles.newSheet());
    PlayN.log().debug("setting root to size " + graphics().width() + ", " + graphics().height());
    root.setSize(graphics().width(), graphics().height());
    stateManager.getImageCache().cache("img/menu_background.png", new Callback.Default<Image>() {

      @Override
      public void onSuccess(Image image) {
        // groupLayer.add(graphics().createImageLayer(image));
        root.addStyles(Style.BACKGROUND.is(Background.image(image)));
        groupLayer.add(root.layer);
        // graphics().rootLayer().add(root.layer);

        final Group buttons = new Group(AxisLayout.vertical().offStretch());
        root.add(new Label("RunRun:"), buttons);

        PlayN.log().debug("adding level groups to menu");
        final LevelGroupMetadataCache cache = (LevelGroupMetadataCache) stateManager.getContext()
        .get(ContextKeys.LEVEL_GROUP_METADATA_CACHE);
        for (final LevelGroupMetadata levelGroup : cache) {
          final Button button = new Button(levelGroup.getName());
          buttons.add(button);
          button.clicked().connect(new UnitSlot() {

            @Override
            public void onEmit() {
              stateManager.getContext().set(ContextKeys.LEVEL_GROUP,
              cache.get(levelGroup.getName()));
              stateManager.goTo(stateManager.getLevelGroupMenuState());
            }
          });
        }
        PlayN.log().debug("finished creating ui for main menu");
        PlayN.log().debug("ui = " + ui);
      }
    });
  }

  @Override
  public void destroy() {
    groupLayer.destroy();
  }

  @Override
  public void update(float delta) {
    ui.update(delta);
  }

  @Override
  public void paint(float alpha) {
    ui.paint(alpha);
  }
}

所有日志语句都出现在我的logcat中 - 但没有任何东西在渲染 - 仅在Android中 - 当我运行java版本时一切正常......

我完全不知道如何解决这个问题或做什么。

非常感谢任何帮助

0 个答案:

没有答案