转载自原地址:http://game.ceeger.com/forum/read.php?tid=12896

Unity3.5之后,原生支持GameCenter,大部分方法都是封装好的,我参考了别人的代码和官方手册,做了下面的Demo,使用的时候调用GameCenterManager.GetInstance().Start()方法就可以

Tips: Editor-Project Settings-Player, 设置Bundle Identifier为自己应用的Bundle Id(不懂的自行Google)

using UnityEngine;
using UnityEngine.SocialPlatforms;
using UnityEngine.SocialPlatforms.GameCenter;public class GameCenterManager : System.Object
{private static GameCenterManager instance;private static object _lock=new object();private GameCenterManager(){}public static GameCenterManager GetInstance(){if(instance==null){lock(_lock){if(instance==null){instance=new GameCenterManager();}}}return instance;}public void Start(){Social.localUser.Authenticate(HandleAuthenticated);}private void HandleAuthenticated(bool success){Debug.Log("*** HandleAuthenticated: success = " + success);if(success){//下面三行看个人需要,需要什么信息就取什么信息,这里注释掉是因为担心有的朋友没有在iTunesConnect里设置排行、成就之类的东西,运行起来可能会报错//Social.localUser.LoadFriends(HandleFriendsLoaded);//Social.LoadAchievements(HandleAchievementsLoaded);//Social.LoadAchievementDescriptions(HandleAchievementDescriptionsLoaded);}}private void HandleFriendsLoaded(bool success){Debug.Log("*** HandleFriendsLoaded: success = " + success);foreach(IUserProfile friend in Social.localUser.friends){Debug.Log("* friend = " + friend.ToString());}}private void HandleAchievementsLoaded(IAchievement[] achievements){Debug.Log("* HandleAchievementsLoaded");foreach(IAchievement achievement in achievements){Debug.Log("* achievement = " + achievement.ToString());}}private void HandleAchievementDescriptionsLoaded(IAchievementDescription[] achievementDescriptions){Debug.Log("*** HandleAchievementDescriptionsLoaded");foreach(IAchievementDescription achievementDescription in achievementDescriptions){Debug.Log("* achievementDescription = " + achievementDescription.ToString());}}// achievementspublic void ReportProgress(string achievementId, double progress){if (Social.localUser.authenticated) {Social.ReportProgress(achievementId, progress, HandleProgressReported);}}private void HandleProgressReported(bool success){Debug.Log("*** HandleProgressReported: success = " + success);}public void ShowAchievements(){if (Social.localUser.authenticated) {Social.ShowAchievementsUI();}}// leaderboardpublic void ReportScore(string leaderboardId, long score){if (Social.localUser.authenticated) {Social.ReportScore(score, leaderboardId, HandleScoreReported);}}public void HandleScoreReported(bool success){Debug.Log("*** HandleScoreReported: success = " + success);}public void ShowLeaderboard(){if (Social.localUser.authenticated) {Social.ShowLeaderboardUI();}}}

ps:目前发现的问题

1、登录比较慢

2、登录时提示如果关闭,得将游戏彻底关闭进程再打开才会再弹出

Unity中访问GameCenter的实现相关推荐

  1. Unity3D研究院之Unity中连接本地或局域网MySQL数据库

    用户名 Email 游戏蛮牛 手机端 开启辅助访问 腾讯QQ 立即注册 登录 用户名 自动登录  找回密码 密码 登录  注册帐号 [Unity5.X版本开始预售啦!] 扫一扫,访问微社区 </ ...

  2. 【Unity 31】 Unity中的文件读写, json,Get和Post,聚合数据接口的使用

    PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为日更. 笔记内容均为 自己理解,不保证每个都对 Part 1 文件读写: 数据存储: 根据游戏类型划分:单机游戏 ...

  3. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  4. 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:48场讲座(6h 38m) |大小解压后:2.8 G ...

  5. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity

    Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity MP4 |视频:h264,1280x720 |音频:A ...

  6. 如何在Unity中添加三维空间声音Spatial Sounds

    hololens的声音模块是头戴环上,靠近耳朵上方的一个红色的模块,三维空间声音感效果还不错,本文主要讲述如何在项目中使用空间声音特性.我们主要讲述必须的插件组件和unity声音组件和属性的设置来确保 ...

  7. 关于Unity中的UGUI优化,你可能遇到这些问题

    一.界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有什么拆分的标准和特别要求呢? 据我们所知,alpha split 的功能最初只对 ...

  8. 使用示例_在Unity中使用ComputeShader示例

    写这篇的缘由是最近老师给了一个UE4的工程,是一个海水模拟的Demo,实现了二十年前一篇paper的算法,paper的地址是: http://citeseerx.ist.psu.edu/viewdoc ...

  9. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?

    编者按 在日常开发中,通常说到优化.提高帧率时,总是会提到批量渲染.之前简单总结了静态合批(点此查看全文)以及动态合批(点此查看全文),这次作者将和大家聊聊实例化渲染. 作者:枸杞忧天 (本文内容由公 ...

  10. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

最新文章

  1. Qt——容器类(译)
  2. 排错-Loadrunner录制打不开浏览器解决方法
  3. 深度复制_Python 列表切片陷阱:引用、复制与深复制
  4. STM32 电机教程 22 - 基于ST MCLIB无感FOC算法变有感(HALL)FOC算法
  5. 小马智行Pony.ai 2020校招正式开启
  6. feature改变属性表的值
  7. python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码
  8. 为什么35岁的C++依然能主导编程世界
  9. C++ Primer中文版(第4版 特别版)
  10. Java 算法 比赛安排
  11. dbutils mysql_使用DBUtils控制mysql事务
  12. 7-10 统计字符出现次数 (20 point(s))
  13. bsh.jar/beanshell下载链接
  14. 利用access创建数据字典_VBA数组与字典解决方案54讲:利用字典和数组提取数据并按行回填...
  15. 对偶式与反函数_对偶式和反函数什么关系,是不是都是一样,还是怎么回事啊,...
  16. 瑞星杀毒软件卸载方法
  17. 服务器appcrash的问题怎么修复,启动不了,提示问题事件名称:APPCRASH···的解决方案...
  18. 华为网络---静态路由
  19. MySQL运维篇之Mycat分片规则
  20. 执行cmd命令提示不是内部或外部命令

热门文章

  1. Java经过的天数的计算公式_Java如何通过计算两个日期的时间差来算出天数
  2. 腾讯网易涉嫌抄袭旅行青蛙,却抄丢了游戏的核心吸引力
  3. 设置虚拟opc服务器,ifix建虚拟opc服务器(DCS通过opc读取ifix)
  4. MySQL下载压缩包安装详细过程
  5. PHP生成DataMatrix二维条码
  6. Transformer相关的各种预训练模型优点缺点对比总结与资料收集(Transformer/Bert/Albert/RoBerta/ERNIE/XLnet/ELECTRA)
  7. Python实现草莓熊手拿风车和鲜花
  8. 第一章:基本概念(博弈论、纳什均衡、维克瑞拍卖、POA、赞助搜索拍卖)
  9. 【C语言刷题】汉诺塔问题
  10. 大鱼吃小鱼html代码,Flash游戏--大鱼吃小鱼(一)