0

我正在尝试将 Swarm 集成到我的游戏中,但它不起作用,我正在使用andengine GLES2。我想要的只是一个排行榜集成,如果我将它作为一个单独的活动来扩展 SwarmActivity(如果它有效),但我想将它集成到 BaseGameActivity 中。

谢谢你。

public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception {
    // TODO Auto-generated method stub

    //Cargo la escena del Cargando
    mScene = new Scene();
    mScene.setBackgroundEnabled(false);
    mScene.attachChild(new Sprite(0, 0, mSplashBackgroundTextureRegion, this.getVertexBufferObjectManager()));       

    this.mScene.setOnSceneTouchListener(this);
    this.mScene.setTouchAreaBindingOnActionDownEnabled(true);      

    Swarm.init(this, SWARM_APP_ID, SWARM_APP_KEY, mySwarmLoginListener);

    Swarm.setActive(this);

    pOnCreateSceneCallback.onCreateSceneFinished(this.mScene);

}

public boolean onSceneTouchEvent(Scene arg0, TouchEvent arg1) {
    // TODO Auto-generated method stub              

    SwarmLeaderboard.getLeaderboardById(LEADERBOARD_ID, new GotLeaderboardCB() {
        public void gotLeaderboard(SwarmLeaderboard leaderboard) {

            if (leaderboard != null) {

                // Save a local reference to the leaderboard
                SwActivity.leaderboard = leaderboard;

                // Submit the score to the leaderboard 
                SwActivity.leaderboard.submitScore(1000f);

                SwActivity.leaderboard.showLeaderboard();
            }
        }
    }); 

    return false;
}
public void onResume() {
    super.onResume();
    Swarm.setActive(this);              
}

public void onPause() {
    super.onPause();
    Swarm.setInactive(this);
}

private SwarmLoginListener mySwarmLoginListener = new SwarmLoginListener() {

    public void loginCanceled() {
        // TODO Auto-generated method stub

    }

    public void loginStarted() {
        // TODO Auto-generated method stub

    }

    public void userLoggedIn(SwarmActiveUser user) {
        // Load our Leaderboard
        SwarmLeaderboard.getLeaderboardById(LEADERBOARD_ID, new GotLeaderboardCB() {
            public void gotLeaderboard(SwarmLeaderboard lb) {
                leaderboard = lb;
            }
        });         

    }

    public void userLoggedOut() {
        // TODO Auto-generated method stub          
    }

};
4

1 回答 1

0

扩展 SwarmActivity 只需添加对 Swarm.setActive(context) 的调用,并作为 onCreate、onResume 和 Swarm.setInactive(context) 的一部分作为 onPause 的一部分。如果您可以掌握上下文的句柄,您应该能够自己在等效的地方进行这些调用。

如果您想要一个使用 AndEngine + Swarm 的完全开源的自定义示例,这里有一个可用的示例:http: //swarmconnect.com/admin/docs/kissthefish。如果这仍然没有意义,请发送电子邮件至 support(at)swarmconnect[dot]com,有人会从那里帮助您:)。

干杯!

于 2013-01-16T00:13:33.430 回答