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 = ;

    private double ach2 = ;

    private double ach3 = ;

    private double ach4 = ;

    private long score1 = ;

    private long score2 = ;

    private int buttonWidth = ;

    private int buttonHeight = ;

    private int buttonGap = ;

    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 == ) ?  : ach1 + ;

        }

        yDelta += buttonHeight + buttonGap;

        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 2")) {

            ReportProgress("A0002", ach2);

            ach2 = (ach2 == ) ?  : ach2 + ;

        }

        yDelta += buttonHeight + buttonGap;

        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 3")) {

            ReportProgress("A0003", ach3);

            ach3 = (ach3 == ) ?  : ach3 + ;

        }

        yDelta += buttonHeight + buttonGap;

        if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 4")) {

            ReportProgress("A0004", ach4);

            ach4 = (ach4 == ) ?  : ach4 + ;

        }

        // 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 += ;

        }

        yDelta += buttonHeight + buttonGap;

        if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Score 2")) {

            ReportScore("L02", score2);

            score2 += ;

        }

        // show leaderboard

        yDelta += buttonHeight + buttonGap;

        if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Show Leaderboard")) {

            ShowLeaderboard();

        }

    }

}

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

Unity3d 显示IOS基本的游戏中心脚本的更多相关文章

  1. 通过Unity3D发布IOS版游戏

    https://developer.apple.com/ 打开上面的苹果开发者网站,选择上面的"Member Center"登录进入.前提是,你注册了开发者账号,并且付了年费. 选 ...

  2. Unity3D之游戏架构脚本该如何来写(转)

    这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...

  3. Unity3d开发IOS游戏 基础

    Unity3d开发IOS游戏 基础 @阿龙 -  649998群 1.先说明两个问题,我在WIN7下面的U3D里面,用了雅黑字体,但是导出为ios后,字体就看不见了,这是为什么呢?这是需要在MAC下找 ...

  4. Unity3D之游戏架构脚本该如何来写

    这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...

  5. (转)Unity3D研究院之游戏架构脚本该如何来写(三十九)

     这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏 ...

  6. Unity3D for iOS初级教程:Part 2/3

    转自Unity3D for iOS 这篇文章还可以在这里找到 英语 Learn how to use Unity to make a simple 3D iOS game! 这篇教材是来自教程团队成员 ...

  7. OpenNI结合Unity3D Kinect进行体感游戏开发(转)

    OpenNI结合Unity3D Kinect进行体感游戏开发(转) 楼主# 更多 发布于:2012-07-17 16:42     1. 下载安装Unity3D(目前版本为3.4)2. 下载OpenN ...

  8. Unity3d与iOS交互开发——接入平台SDK必备技能

    原地址:http://www.2cto.com/kf/201401/273337.html# 前言废话:开发手机游戏都知道,你要接入各种平台的SDK.那就需要Unity3d与iOS中Objective ...

  9. U3D 游戏引擎之游戏架构脚本该如何来写

    这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引 ...

随机推荐

  1. 680. Valid Palindrome II【Easy】【双指针-可以删除一个字符,判断是否能构成回文字符串】

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  2. POJ 1062 昂贵的聘礼 【带限制的最短路/建模】

    年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说:" ...

  3. 0818JavaWeb基础

    Java Web基础 JSP JSP --- Java Server Page        在服务器上运行的页面 动态网页(JSP网页)        与后台有数据交换的网页             ...

  4. struts2核心配置之Result

    result作用:在struts.xml中,使用<result>元素配置result逻辑视图和物理视图之间的映射 元素属性 属性 说明 是否必须 name 指定逻辑视图的名称(Action ...

  5. go chapter 5 - 异常处理 error、panic、recover

    https://blog.csdn.net/tennysonsky/article/details/78946265 error(不中断).panic(中断).recover(拦截中断  类似于 ca ...

  6. POJ1067 取石子游戏 威佐夫博弈 博弈论

    http://poj.org/problem?id=1067 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可 ...

  7. [BZOJ3576]江南乐

    挺好的题 我们算出每个数的sg值后异或起来即可 对于$n$,我们要求$sg_n$ 朴素的想法是枚举把$n$个石子分成$m$堆,有$m-n\%m$堆大小为$\left\lfloor\frac nm\ri ...

  8. 【Splay】洛谷3372 【模板】线段树 1

    Splay区间加,询问区间和. #include<cstdio> #include<iostream> #include<cstring> #include< ...

  9. Redis 真得那么好用吗?

    不管你是从事Python.Java.Go.PHP.Ruby等等......Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了set value.GetVal ...

  10. Problem D: 判断上否上三角矩阵

    #include<stdio.h> int main() { ][],i,j; while(scanf("%d",&n)!=EOF) { ; //flag用来做 ...