博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3.5 GameCenter基础教程(转载)
阅读量:7036 次
发布时间:2019-06-28

本文共 4946 字,大约阅读时间需要 16 分钟。

原地址:

http://forum.unity3d.com/threads/116901-Game-Center-Support/page3

using UnityEngine;using UnityEngine.SocialPlatforms; public class Startup : MonoBehaviour{    // we'll create some buttons in OnGui, allowing us to bump achievement and    // score values for testing       private double ach1 = 0;    private double ach2 = 0;    private double ach3 = 0;    private double ach4 = 0;       private long score1 = 1000;    private long score2 = 200;       private int buttonWidth = 120;    private int buttonHeight = 50;    private int buttonGap = 10;       void Start()    {        Social.localUser.Authenticate(HandleAuthenticated);    }       // authentication       private void HandleAuthenticated(bool success)    {        Debug.Log("*** HandleAuthenticated: success = " + success);        if (success) {            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());        }    }       // achievements       public 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();        }    }       // leaderboard       public 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();        }    }       // gui       public void OnGUI()    {        // four buttons, allowing us to bump and test setting achievements        int yDelta = buttonGap;        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 1")) {            ReportProgress("A0001", ach1);            ach1 = (ach1 == 100) ? 0 : ach1 + 10;        }        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 2")) {            ReportProgress("A0002", ach2);            ach2 = (ach2 == 100) ? 0 : ach2 + 10;        }        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 3")) {            ReportProgress("A0003", ach3);            ach3 = (ach3 == 100) ? 0 : ach3 + 10;        }        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 4")) {            ReportProgress("A0004", ach4);            ach4 = (ach4 == 100) ? 0 : ach4 + 10;        }        // show achievements        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Show Achievements")) {            ShowAchievements();        }               // two buttons, allowing us to bump and test setting high scores        int xDelta = Screen.width - buttonWidth - buttonGap;        yDelta = buttonGap;        if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Score 1")) {            ReportScore("L01", score1);            score1 += 500;        }        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Score 2")) {            ReportScore("L02", score2);            score2 += 100;        }        // show leaderboard        yDelta += buttonHeight + buttonGap;        if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Show Leaderboard")) {            ShowLeaderboard();        }    }}

 

转载地址:http://shjal.baihongyu.com/

你可能感兴趣的文章
才上线的第一个iphone app私人相簿(加密保护您的隐私),请大家支持下
查看>>
资源下载地址
查看>>
ngnix下conf通用设置方法(php fastcgi)
查看>>
gnu autotools
查看>>
Sizeof与Strlen的区别与联系
查看>>
Tomcat的三种模式及并发优化
查看>>
Linux系统的Web网站服务
查看>>
oracle的环境配置-oracle10g的安装过程
查看>>
设计模式(创建型)之工厂模式
查看>>
Spring 3: 核心技术之AOP配置
查看>>
我的友情链接
查看>>
中小企业是否需要邮件服务器系统
查看>>
关机命令
查看>>
禁止浏览器缓存的响应头和定时刷新
查看>>
Win8.1下安装Sass Compass
查看>>
sjtu oj 1250 最大连续子序列问题变形
查看>>
OSPF在企业网络中的应用
查看>>
运维核心之一 CMDB
查看>>
python高性能编程--002--全局解释器锁GIL
查看>>
VSS 信息安全
查看>>