Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡°Ê²¼¤Î¤è¤¦¤Ê Json ·Á¼°¤Î¥Æ¡¼¥Ö¥ë¥Ç¡¼¥¿¡¢¤¢¤ë¤¤¤Ï¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¤È¤·¤¿¤È¤­¡¢
¸½ºß¤Î·Ð¸³ÃͤÎÃͤȥì¥Ù¥ë¥¢¥Ã¥×¤Î¤¿¤á¤ÎÎßÀѷи³ÃͤòÈæ³Ó¤·¤Æ¡¢¸½ºß¤Î¥ì¥Ù¥ë¤ò»»½Ð¤¹¤ëÊýË¡¤Î¼ÂÁõÎã¤Ç¤¹¡£

[
  { "level": 1, "acc_exp": 0 },
  { "level": 2, "acc_exp": 300 },
  { "level": 3, "acc_exp": 1500 },
  { "level": 4, "acc_exp": 4200 },
  { "level": 5, "acc_exp": 9000 },
  { "level": 6, "acc_exp": 16500 },
  { "level": 7, "acc_exp": 27300 },
  { "level": 8, "acc_exp": 42000 },
  { "level": 9, "acc_exp": 61200 },
  { "level": 10, "acc_exp": 85500 },
  { "level": 11, "acc_exp": 115500 },
  { "level": 12, "acc_exp": 151800 },
  { "level": 13, "acc_exp": 195000 },
  { "level": 14, "acc_exp": 245700 },
  { "level": 15, "acc_exp": 304500 },
  { "level": 16, "acc_exp": 372000 },
  { "level": 17, "acc_exp": 448800 },
  { "level": 18, "acc_exp": 535500 },
  { "level": 19, "acc_exp": 632700 },
  { "level": 20, "acc_exp": 741000 }
]

¡¡Î㤨¤Ð¡¢¸½ºß¤Î·Ð¸³ÃÍ ¤¬ 500 ¤Ç¤¢¤ë¾ì¹ç¡¢ÎßÀѷи³ÃͤȾȹ礷¡¢Level ¤¬ 3 ¤Ç¤¢¤ë¤³¤È¤ò»»½Ð¤¹¤ëÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£



Json ¥Õ¥¡¥¤¥ë¤òÅÐÏ¿¤¹¤ëÊýË¡


¡¡¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¹ç¤ï¤»¤ÆÂбþ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡PlayFab ¤Î¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤Ê¤É¤Î¥µ¡¼¥Ð¡¼¾å¤ËÇÛÃÖ¤¹¤ë
¡¡Json ¥Õ¥¡¥¤¥ë¤ò Unity ¤Ø¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤ª¤¤¤Æ¼èÆÀ¤¹¤ë
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼è¤ê¹þ¤à

¡¡¤³¤³¤Ç¤Ï PlayFab ¤Î¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤ËÇÛÃÖ¤¹¤ëÊýË¡¤Ç¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£



¡¡PlayFab ¤Î¥²¡¼¥à¥Þ¥Í¡¼¥¸¥ã¡¼²èÌ̤ΥÀ¥Ã¥·¥å¥Ü¡¼¥É¤è¤ê¡¢¥³¥ó¥Æ¥ó¥Ä ¢ª ¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤òÁªÂò¤·¤Þ¤¹¡£








¡¡¥³¥ó¥Æ¥ó¥ÄÆâ¤Î¿·¤·¤¤¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤òÁªÂò¤·¤Þ¤¹¡£
¤¹¤Ç¤Ë¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï Edit ¤ò²¡¤·¤Þ¤¹¡£









¡¡Key ¤ÎÉôʬ¤Ë¤¢¤ëÄɲäòÁªÂò¤·¡¢Key ¤È Value ¤òÅÐÏ¿¤·¤Þ¤¹¡£




¡¡Key ¤Ë¤Ï¥²¡¼¥àÆâ¤ËºîÀ®¤¹¤ë¥¯¥é¥¹Ì¾¤òÅÐÏ¿¤·¡¢Value ¤Ë¤Ï Json ¤Î¾ðÊó¤òŽ¤êÉÕ¤±¤Þ¤¹¡£
¤³¤³¤Ç¤Ï Key ¤ò PlayerLevelMasterData ¤ËÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£
¸åÄø¡¢Æ±Ì¾¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£








¡¡Value ÅÐÏ¿¸å¤Ï Json ¥Ü¥¿¥ó¤ò²¡¤¹¤³¤È¤Ç½¤Àµ¤Ç¤­¤Þ¤¹¡£






PlayerLevelMasterData ¥¯¥é¥¹¤ÎºîÀ®


¡¡¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤Î Key ¤ÈƱ̾¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Á¤é¤Ë Json Æâ¤Î£±¤Äʬ¥Ç¡¼¥¿¤¬Æþ¤ê¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢º£²ó¤Î¤è¤¦¤ËÊ£¿ô¤Î¥Ç¡¼¥¿¤¬ÇÛÎó¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ë Json ¤Î¾ì¹ç¤Ë¤Ï
List ¤Ê¤É¤Ç PlayerLevelMasterData ¤ò´ÉÍý¤¹¤ë¤³¤È¤Ç¡¢¤¹¤Ù¤Æ¤Î Json ¤Î¾ðÊó¤ò´ÉÍý¤·¤Þ¤¹¡£

// ¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤Î¥¯¥é¥¹
[Serializable]
public class PlayerLevelMasterData
{
    public int level;
    public int acc_exp;
}


PlayerLevelManager ¥¯¥é¥¹¤ÎºîÀ®


¡¡PlayFab ¤Ø¤Î¥í¥°¥¤¥ó¤ä¡¢¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤«¤é¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡¤Ï³ä°¦¤·¤Æ¤¤¤Þ¤¹¡£
¾¤Îµ­»ö¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤Î¾ðÊó¤¬ PlayerLevelMasterData ÊÑ¿ô¤Ë¼èÆÀ¤Ç¤­¤Æ¤¤¤ëÁ°Äó¤Ç½èÍý¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£


using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;

public static class PlayerLevelManager
{
    public List<PlayerLevelMasterData> PlayerLevelMasterData = new();¡¡¡¡// PlayFab ¤Î¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤«¤é¼èÆÀ¤·¤¿ Json ¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë


    // ¥×¥ì¥¤¥ä¡¼¤Îexp¤ò¼õ¤±¼è¤Ã¤Æ¡¢Âбþ¤¹¤ë¥ì¥Ù¥ë¤òÊÖ¤¹¥á¥½¥Ã¥É
¡¡¡¡public static int GetLevelFromExp(int exp)
¡¡¡¡{
    ¡¡¡¡// PlayerLevelMasterData¤¬¶õ¤Î¾ì¹ç¤Î½èÍý
    ¡¡¡¡if (PlayerLevelMasterData.Count == 0)
    ¡¡¡¡{
        ¡¡¡¡// ¥¨¥é¡¼¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥ì¥Ù¥ë¤òÊÖ¤¹¤Ê¤É¡¢Å¬ÀڤʽèÍý¤ò¹Ô¤¤¤Þ¤¹¡£
        ¡¡¡¡return 0; // Î㤨¤Ð0¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥ì¥Ù¥ë¤È¤·¤ÆÊÖ¤¹¤³¤È¤Ë¤·¤Þ¤¹¡£
    ¡¡¡¡}

    ¡¡¡¡int resultLevel = 0; // ¥Ç¥Õ¥©¥ë¥È¤Î¥ì¥Ù¥ë

    ¡¡¡¡// PlayerLevelMasterData¤ò½çÈ֤˳Îǧ
    ¡¡¡¡foreach (var levelData in PlayerLevelMasterData)
    ¡¡¡¡{
        ¡¡¡¡// ¸½ºß¤Î¥Ç¡¼¥¿¤Îacc_exp¤¬exp°Ê²¼¤Ç¤¢¤ë¤«³Îǧ
        ¡¡¡¡if (exp >= levelData.acc_exp)
        ¡¡¡¡{
            ¡¡¡¡// ¸½ºß¤Î¥Ç¡¼¥¿¤Îlevel¤ò·ë²Ì¤È¤·¤ÆÊݸ
            ¡¡¡¡resultLevel = levelData.level;
       ¡¡¡¡ }
        ¡¡¡¡else
        ¡¡¡¡{
            ¡¡¡¡// exp¤¬¥Ç¡¼¥¿¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤¿»þÅÀ¤Ç¥ë¡¼¥×¤ò½ªÎ»
            ¡¡¡¡break;
        ¡¡¡¡}
    ¡¡¡¡}

    ¡¡¡¡return resultLevel; // ºÇ½ªÅª¤Ê·ë²Ì¤Î¥ì¥Ù¥ë¤òÊÖ¤¹
¡¡¡¡}
}

¡¡static ¥¯¥é¥¹¤Ç¤¹¤Î¤Ç¡¢¥²¡¼¥à¼Â¹Ô¤ÈƱ»þ¤Ë¥¤¥ó¥¹¥¿¥ó¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£

¡¡¤â¤·¤â List ¤ÎÆâÉô¥Ç¡¼¥¿¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê³Îǧ¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
static ¥­¡¼¥ï¡¼¥É¤òºï½ü¤·¡¢static ¥¯¥é¥¹¤Ç¤Ï¤Ê¤¯¡¢Ä̾ï¤Î¥¯¥é¥¹¤È¤·¤Æ MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£


¥µ¥ó¥×¥ë¥¯¥é¥¹


¡¡¤³¤Á¤é¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½èÍý¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡¥Ü¥¿¥ó¤ò²¡¤¹Å٤˥᥽¥Ã¥É¤ò¼Â¹Ô¤·¡¢¸½ºß¤Î·Ð¸³Ãͤò¸µ¤Ë¥ì¥Ù¥ë¤ò»»½Ð¤·¤Þ¤¹¡£
¡¡
¡¡¼ÂºÝ¤Ë¤Ï·Ð¸³ÃͲû»¤Î¥¿¥¤¥ß¥ó¥°¤Ç¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£

using UnityEngine;

public class Player : MonoBehaviour {

    public int playerLevel;
    public int playerExp;


    void Update() {
        if(Input,GetKeyDown(KeyCode.Space)){
            UpdateLevel();
        }
    }

    void UpdateLevel()
    {
        // ¥×¥ì¥¤¥ä¡¼¤Îexp¤«¤é¥ì¥Ù¥ë¤ò¼èÆÀ
        playerLevel = PlayerLevelManager.GetLevelFromExp(playerExp);

        // ¼èÆÀ¤·¤¿¥ì¥Ù¥ë¤òɽ¼¨
        Debug.Log($"Player Exp: {playerExp}, Player Level: {playerLevel}");
    }
}


¡ãLINQ ¤òÍøÍѤ·¤¿¥±¡¼¥¹¡ä


¡¡PlayerLevelManager ¥¯¥é¥¹Æâ¤Î GetLevelFromExp ¥á¥½¥Ã¥ÉÆâÉô¤Î½èÍý¤Ï LINQ ¤ò³èÍѤ·¤Æ¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°²Äǽ¤Ç¤¹¡£


    public int GetLevelFromExp(int exp)
    {
        var levelData = PcharLevelMasterData.LastOrDefault(data => exp >= data.acc_exp);

        return levelData != null ? levelData.level : PcharLevelMasterData.First().level;
    }

¡¡½èÍý¤òºîÀ®¤·¤ÆÀµ¾ï¤ËÆ°ºî¤¹¤ë¤³¤È¤ò³Îǧ¤Ç¤­¤¿¤é¡¢½èÍý¤ò¸«Ä¾¤·¤¿¤ê¡¢¹½Â¤¤ò³Îǧ¤·¤¿¾å¤Ç¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¦Êʤò¤Ä¤±¤Þ¤·¤ç¤¦¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹