質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

C#で書かれたscriptをjavascriptに書き換えたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,313
退会済みユーザー

退会済みユーザー

unityで2Dゲームを作りました。
しかし後からになってランキング制を導入しようということになり、
iOSではGameCenterを活用しようと思っています。
参考になるサイトは見つけましたが、c#で書かれているので、javascriptに書き換えたいと思っています。
なにぶん初心者のためどう書き換えればよいか分かりません。
ぜひなんとかご協力お願いします。
以下がscriptです。

SocialExample.cs
using UnityEngine;
using UnityEngine.SocialPlatforms;

public class SocialExample : MonoBehaviour {

    void Awake () {
        // 認証を行い、ProcessAuthenticationコールバックを登録
        // 他のソーシャルAPIの呼び出しを行う前にこの呼び出しを行う必要があります。
        Social.localUser.Authenticate (ProcessAuthentication);

    }

    // この関数は認証が完了した後に呼び出しされます
    // 処理が正常終了した場合、Social.localUserにはサーバから取得したデータを含むことに留意して下さい。
    void ProcessAuthentication (bool success) {
        if (success) {
            Debug.Log ("認証完了、Achievementsをチェックしています");

            // ロードされているAchievementsをリクエストし、それを処理するためのコールバックを登録します。
            ILeaderboard leaderboard =
                Social.CreateLeaderboard();
            leaderboard.id = "string leaderboardID";
            leaderboard.LoadScores (result => {

                Debug.Log("スコアを " + leaderboard.scores.Length + " 受信しました。");
                foreach (IScore score in leaderboard.scores)

                    Debug.Log(score);
            });

        }
        else
            Debug.Log ("認証失敗");
    }

    // LoadAchievement呼び出しが完了すると、この関数が呼び出しされます。
    void ProcessLoadedAchievements (IAchievement[] achievements) {
        if (achievements.Length == 0)
            Debug.Log ("エラー:Achievementsは見つかりませんでした。");
        else
            Debug.Log ("取得:" + achievements.Length + " achievements");

        // また、次のように関数を中で呼び出しすることも出来ます
        Social.ReportProgress ("Achievement01", 100.0, result => {
            if (result)
                Debug.Log ("正常にAchievementの進捗をレポート");
            else
                Debug.Log ("認証失敗");
        });
    }

}

Test_ScoreReport.cs
using UnityEngine;
using System.Collections;

public class Test_ScoreReport : MonoBehaviour {

    public int score1;

    void Start(){
        ReportScore(score1, "leaderboardID"); // iTunes Connectで設定したleaderboardIDを入れる
    }

    void ReportScore (long score, string leaderboardID) {
        Debug.Log ("Reporting score " + score + " on leaderboard " + leaderboardID);
        Social.ReportScore (score, leaderboardID, success => {
            Debug.Log(success ? "Reported score successfully" : "Failed to report score");
        });
    }

}


Button_GameCenter.cs

using UnityEngine;
using System.Collections;
using UnityEngine.SocialPlatforms;

public class Button_GameCenter : MonoBehaviour {

    public Vector3 checkScale;

    void OnMouseDown() {
        audio.Play();
        checkScale = transform.localScale;
        transform.localScale += new Vector3(-0.1F, -0.1F, -0.1F);
//③
        Social.LoadScores("string leaderboardID", scores => {
            if (scores.Length > 0) {

                Debug.Log ("保有: " + scores.Length + " 個のスコア");
                string myScores = "Leaderboard:\n";
                foreach (IScore score in scores)
                    myScores += "\t" + score.userID + " " + score.formattedValue + " " + score.date + "\n";

                Debug.Log (myScores);
            }
            else

                Debug.Log ("スコアはロードされませんでした。");
        });

        Social.ShowLeaderboardUI();

    }

    void OnMouseUp() {
        transform.localScale = checkScale; //④
    }

}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

注意:
ここから先は対策ではありません。また、unityを知らない一個人の意見としてご覧いただけますと幸いです。

スクリプトの変換ですか…全部変換をお願いとなると書くほうも大変だとは思いますので、
まずは、こちらを見ながら、
個別にゆっくりと確認されてはいかがでしょうか。その上で部分的にこの辺はこういう解釈をしているが分かりにくいとなるようであれば、その部分の提示をいただけますと回答もしやすいです。
unityでは、(他のライブラリもそうですが)
ドキュメントが更新中(おそらく翻訳中なんでしょう)であることも含めて、公開されているようです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る