首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibGdx如何从libgdx类返回到androidActivity

LibGdx如何从libgdx类返回到androidActivity
EN

Stack Overflow用户
提问于 2012-12-31 02:13:22
回答 4查看 2.6K关注 0票数 1

因此,在libgdx android项目中,我们有一个文件夹包含android活动,另一个文件夹包含libgdx项目的源代码。

为了从一个Android活动开始“游戏”,我们使用initialize(new MyGdxGame(),cfg);

现在我需要知道如何从游戏中的libgdx类返回到android活动,比如主菜单……

我尝试从Activity扩展类来获取contextApplication,但是我不能填充第二个参数,因为程序不能识别libgdx类中的android类……

EN

回答 4

Stack Overflow用户

发布于 2013-01-04 02:19:30

在libGDX项目中使用特定于安卓的代码的标准方法是在libGDX核心项目(例如,interface PlatformStuff)中创建独立于平台的接口,然后在每个特定于平台的后端(例如,桌面或安卓)中使用特定于平台的对象(例如class AndroidPlatformStuff implements PlatformStuff)来实现该接口。您可以在构造接口时将特定于平台的接口实现传递到泛型代码中(例如,new MyGdxGame(new AndroidPlatformStuff())

调用改变活动和上下文的安卓代码可能需要更多的工作(因为它与libGDX基础设施有一点交互),但也应该是可行的。您应该能够使用集成广告支持的教程来获得基本概念。请参阅http://code.google.com/p/libgdx/wiki/AdMobInLibgdxhttp://code.google.com/p/libgdx/wiki/ApplicationPlatformSpecific

票数 1
EN

Stack Overflow用户

发布于 2017-11-01 08:18:12

首先,您应该在核心文件夹中创建一个接口类。这通常放在你的游戏类中。例如,对于名为ActionResolver的接口类,您的函数名将是LoginFacebook()

接口类

代码语言:javascript
复制
package com.mygdx.game;

public  interface ActionResolver {
    public void LoginFacebook();

}

现在,在您的游戏类中,您应该具有以下构造函数:

代码语言:javascript
复制
public SpaceXplorerGame(ActionResolver actionResolver)
{
    this.actionResolver = actionResolver;
}

现在,在android文件夹中的src -> com.mygdx.game.android (包名)中,您应该创建处理程序类,在我的例子中称为ActionResolverAndroid

代码语言:javascript
复制
public class ActionResolverAndroid implements ActionResolver {
    Handler handler;
    Context context;


    public ActionResolverAndroid(Context context) {
        handler = new Handler();
        this.context = context;
    }

public void LoginFacebook()
{
    handler.post(new Runnable() {
        @Override
        public void run() {
            Intent intent = new Intent(context, LoginActivity.class);
            context.startActivity(intent);
        }
    });

} 

}

现在,从LibGdx调用函数LoginFacebook()将把你带到安卓系统中的LoginAcitivty.class。希望我没有遗漏任何东西

票数 1
EN

Stack Overflow用户

发布于 2017-10-16 21:05:11

你应该创建回调;创建一个接口并在android类上实现,然后将其传递给libgdx,当你需要调用相关方法时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14093241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档