我使用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版本时一切正常......
我完全不知道如何解决这个问题或做什么。
非常感谢任何帮助