我想在游戏中通过menuitem的点击实现gamecenter的登录和上传得分的功能,该怎么实现?初学cocos2dx,各位高手回答的时候说的易懂些,有代码参考更好。
假点吧还是我孤陋寡闻,1 win平台编译器不能编译o-c代码(除非你用cywin交叉编译的)2 win平台你怎么接入gamecenter啊,苹果能干吗? 请高人解惑。
gamecenter不过是一个网路服务罢了,理论上win平台是可以接入gamecenter的,
问题是win平台上有无提供相关的API,
这…我也不清楚,求高手解惑
至於上面提供的方法,我有看到objc的码,这在win底下应是无法使用的
好像还少了对头文件的引用,要引用哪些头文件啊?
- 本帖最后由 Long 于 2012-8-23 10:16 编辑 *
在menuitem调用的方法里这样写可以吗?
void <类名>::gameCenterCallback(CCObject* pSender)
{
// 登录和发送得分到Game Center
CCMenuItem* item = (CCMenuItem*)pSender;
int num = item->getTag();
if( num==1 ){
CCLog(“Login Game Center”);
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
//iOS代码
- (void) authenticateLocalUser
{
if(.authenticated == NO)
{
authenticateWithCompletionHandler:^(NSError error)
{
if(error == nil)
{
//认件成功
}
else
{
//失败
UIAlertView alert= initWithTitle: @”Game Center Account Required”
message: ]
delegate: self cancelButtonTitle: @”Try Again…” otherButtonTitles: NULL] autorelease];
;
}
}
];
}
}
#else
//Android代码
#endif
}else if( num ==2 ){
CCLog(“Send scores to Game Center”);
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
//iOS代码
- (void) reportScore: (int64_t) score forCategory: (NSString*) category
{
GKScore *scoreReporter = initWithCategory:category] autorelease];
scoreReporter.value = score;
[scoreReporter reportScoreWithCompletionHandler: ^(NSError *error)
{
if(error != nil)
{
//处理储物
}
else
{
//显示排行榜
}
}];
}
#else
//Android代码
#endif
}
}
代码参考 http://blog.csdn.net/qxue2000/article/details/6569357