zoukankan      html  css  js  c++  java
  • Unity3.5 GameCenter基础教程(转载)

    原地址:

    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();
            }
        }
    }
  • 相关阅读:
    Spring(二):Spring框架&Hello Spring
    Spring(一):eclipse上安装spring开发插件&下载Spring开发包
    MyBatis(三):数据库查询结果不为空,但是使用MyBatis框架查询为空问题
    wrapper x64 版本发布到centos
    Oracle:常用的一些基本操作
    Java:import com.sun.awt.AWTUtilities;报错
    Eclipse中JavaSwing图形插件安装
    Hibernate(五):Hibernate配置文件及C3P0的用法
    Hibernate(四):Hello World
    Hibernate(三): org.hibernate.HibernateException: No CurrentSessionContext configured!
  • 原文地址:https://www.cnblogs.com/123ing/p/3720051.html
Copyright © 2011-2022 走看看