我想使用Libgdx为我的Android应用程序使用Google In-App计费.默认情况下,它是适合所有人的免费应用程序.一旦用户支付少量费用(假设为1美元),一些功能将被解锁,如果用户支付全价(假设为2美元),所有功能将被解锁.
我在官方Google的结算网站上看过,但我不知道如何将其链接到Libgdx.该官方网站Libgdx并没有真正提供任何明确的指示和解释.
截至今天,我仍然不知道如何链接Libgdx和In-App Billing.此外,当用户购买解锁的物品时,信息存储在哪里(是否在偏好文件中?)?我完全不知道.
如果有人带领我走上正确的道路,那将会很棒.
我按照这些说明使用ActionResolver接口集成了Libgdx和本机android代码.我从我的代码的Libgdx部分调用Android方法没有问题.但是,当我尝试将Google IAP与Libgdx集成时,我正在走向死胡同.根据TrivialDrive示例,它使用mPurchaseFinishedListener(在调用方法之外).
我的问题是:如何将此IAP结果代码传递回Libgdx,因为侦听器在调用方法之外?目前,购买流程已经完成,但我的代码中的libgdx部分未被"通知"购买状态/结果.
这是我的代码:
任何帮助深表感谢.
ActionResolver:
public interface IActionResolver {
public int requestIabPurchase(int product);
}
Run Code Online (Sandbox Code Playgroud)
主要活动:
public class MainActivity extends AndroidApplication implements IActionResolver {
// Debug tag, for logging
static final String TAG = "greatgame";
// Does the user have the premium upgrade?
boolean mIsUpgraded = false;
// SKUs for our products: the cat, all, or pow
static final String SKU_UPGRADE = "android.test.purchased";
// (arbitrary) request code for the purchase flow
static final int RC_REQUEST = 10001;
// …Run Code Online (Sandbox Code Playgroud) 我在LibGdx上的多行标签上做了一个小测试,看来我无法获得换行的高度。以下是代码。理论上,aLebel的高度应大于bLabel。但是结果看起来是一样的。
码:
aLabel.setText("this is a super long long long text that need wrapping."); // line wrapped into 3 lines
aLabel.setWrap(true);
aLabel.setWidth(470);
doLog("aLabel.getHeight(): " + aLabel.getHeight());
bLabel.setText("this is short."); // unwrapped line
bLabel.setWrap(true);
bLabel.setWidth(470);
doLog("bLabel.getHeight(): " + bLabel.getHeight());
Run Code Online (Sandbox Code Playgroud)
结果:
aLabel.getHeight(): 45.0
bLabel.getHeight(): 45.0
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在LibGdx中获得实际的多行高度?提前致谢。
在LibGdx中,当用户暂停屏幕/离开应用程序暂时(这样的来电)时,有没有办法暂停增量时间?举例来说,当显示消息需要10秒才能让用户阅读消息时,通常情况下,我会将消息显示为开始时间,在render()中进行计算以获取经过的时间(currentTime - MessageStartedTime),如果已用时间> 10秒,然后关闭消息,一切正常,对.对这种情况进行成像,用户正在读取消息(假设经过的时间是2秒),一个持续20秒的来电,当进程返回我的应用程序时,经过的时间> 10秒,因此消息将是即使消息仅显示2秒,也会将其删除.
所以,我的问题是,是否有一个主时间计数器,我可以在我的应用程序中实现这种目的?什么是实施它的最佳方式?