【发布时间】:2014-03-27 08:45:55
【问题描述】:
我正在努力在游戏中实现 Play 游戏服务,但在尝试将 gamePanel 中的分数提交到排行榜时,我一直遇到问题。我无法在任何地方运行该方法,除了扩展 BaseGameActivity 的 GameActivity 如果我尝试在其他地方调用它,我会收到上面的错误。
提交分数的方法
public class GameActivity extends BaseGameActivity implements View.OnClickListener{
static void updatePlayThingies(){
int distance= MainGamePanel.Squirrel.getDist();
if(gameover==true){
Games.Leaderboards.submitScore(getApiClient(), "Leaderboard_id", distance);
}
}
需要调用 updatePlayThingies 的游戏逻辑
public class Squirrel{
private int distance = 0;
public void phys(){
if (speedx==0){
bouncecheck=0;
//ball stopped
//reset stats and move ball back to launcher
GameActivity.gameover=true;
GameActivity.paused=true;
GameActivity.updatePlayThingies();
}
}
【问题讨论】:
-
getApiClient 只能在扩展 BaseGameActivity 的类中访问。
-
为什么不搜索“无法对非静态方法进行静态引用”。有很多关于它的问题,阅读答案广告,它将让您完全了解您正在尝试做什么以及为什么它不起作用。
-
我在一个线程中运行游戏逻辑,从我的游戏活动中调用它的唯一方法是使 updateplaythiniges 成为静态的,这会破坏该代码或在我的线程中构建一个新的游戏活动也可以工作。
标签: java android google-play-services