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. 并发系列1----大白话聊聊Java并发面试问题之volatile到底是什么?【石杉的架构笔记】

  2. Oracle REGEXP

    ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与S ...

  3. [BZOJ2007][NOI2010]海拔(对偶图最短路)

    首先确定所有点的海拔非0即1,问题转化成裸的平面图最小割问题,进而转化成对偶图最短路(同BZOJ1002). 这题的边是有向的,所以所有边顺时针旋转90度即可. 如下图(S和T的位置是反的). #in ...

  4. JZYZOJ 1382 光棍组织 状压dp

    http://172.20.6.3/Problem_Show.asp?id=1382   水得过分了,本来以为要用lzx学长的写法写,抱着试试看的想法写了个特暴力的dp+dfs,过了,真是...   ...

  5. 【最短路】【位运算】It's not a Bug, it's a Feature!

    [Uva658] It's not a Bug, it's a Feature! 题目略 UVA658 Problem PDF上有 试题分析:     本题可以看到:有<=20个潜在的BUG,那 ...

  6. Vue视图下

    3 Vue视图 3.5 样式绑定 class绑定 <p :class='对象'> <p :class="数组"> <p :class="{类 ...

  7. python的dict和set

    dict dict是dictionary的缩写,python内置了字典,在其他语言中也称为map,使用键值对储存,具有极快的查找速度. 如果是只用list来实现,就需要两个list,先在第一个list ...

  8. 93.数字三角形W(深搜)

    2189 数字三角形W  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 数字三角形 要求走到最后mod 10 ...

  9. [转]java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类

    JSONObject与JSONArray的使用 一.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.c ...

  10. 常用 U-boot命令详解

    转:http://www.360doc.com/content/10/0827/13/496343_49168699.shtml 获取帮助环境变量与相关指令U-boot的使用网络命令Nand Flas ...