ひたすらアニメーション画像貼り付け
がんばりました
他に良い方法あるだろ?と思いながらひたすらモンスターアニメ貼り付け作業
126体...がんばった
これやっとけば、オブジェnameはやんなきゃだが、他はコピー(複写)で行けるはず
こんな感じで同じ場所に全部詰め込んだ
毎回ここにtextを放り込まないといけないのかな?と色々試したが
消してもちゃんとtext表示された!
そして、モンスターの数とか変数にしたら、ここでいじれそうだ
あら?[SerializeField]いらないの??
3匹目の表示もコピーしてまとめて下に移動
無事3体目の表示に成功
見ずらい...背景後で変更だ
ここまでのスクリプト
using System;
using UnityEngine;
using static PlayFabLogin;
using UnityEngine.UI;
public class MoC : MonoBehaviour
{
public int Mkazu = 126; //モンスターの総数
public int hyoujimons = 3; //表示するモンスターの数
public string bb; // Rank用の変数
//public GameObject Mname0 = null;
//public GameObject Mname1 = null;
//public GameObject HP0= null;
//public GameObject ST0 = null;
void Start()
{
//新規の場合Json書込んでから読込みたいので起動を遅らせる
Invoke("Mo", 1.5f);
}
void Mo()
{
//所持モンスターのJsonを読込
string inputString = Resources.Load<TextAsset>("playermons").ToString();
Pmon playermons = JsonUtility.FromJson<Pmon>(inputString);
//jは所持モンスターの数(表示数)
for (int j = 0; j < hyoujimons; ++j)
{
// ステータス表示
//string ch = j.ToString();とやらなくても文字とjなら足しても大丈夫だた
//Mname+chのオブジェクト名を生成(j=0の時 Mname0 )
GameObject Mname = GameObject.Find("Mname" + j);
//指定したテキストに表示、jが1の時はMname1になる
Text Mname_text = Mname.GetComponent<Text>();
Mname_text.text = playermons.pmon[j].name;
//他のステータスも紐ずけて表示
GameObject HP = GameObject.Find("HP" + j);
Text HP_text = HP.GetComponent<Text>();
HP_text.text = playermons.pmon[j].HP;
GameObject ST = GameObject.Find("ST" + j);
Text ST_text = ST.GetComponent<Text>();
ST_text.text = playermons.pmon[j].ST;
GameObject DE = GameObject.Find("DE" + j);
Text DE_text = DE.GetComponent<Text>();
DE_text.text = playermons.pmon[j].DE;
GameObject SP = GameObject.Find("SP" + j);
Text SP_text = SP.GetComponent<Text>();
SP_text.text = playermons.pmon[j].SP;
// ランク表示
// Rank表示も重ねて、一致したら表示
for (int i = 0; i < 5; ++i)
{
if(i == 0) { bb = "N"; }
else if (i == 1) { bb = "R"; }
else if (i == 2) { bb = "SR"; }
else if (i == 3) { bb = "SSR"; }
else { bb = "UR"; }
string mm = bb + j;
if (playermons.pmon[j].Rank == bb)
{
GameObject aa = GameObject.Find(mm);
aa.SetActive(true);
}
else
{
GameObject aa = GameObject.Find(mm);
aa.SetActive(false);
}
}
// モンスター表示
// kは登録モンスターの数
for (int k = 0; k < Mkazu; ++k)
{
string chaa = j.ToString();
string chak = k.ToString();
string m = chaa + chak;
if (playermons.pmon[j].MoNo == chak)
{
GameObject a = GameObject.Find(m);
a.SetActive(true);
Debug.Log(m);
}
else
{
GameObject a = GameObject.Find(m);
a.SetActive(false);
}
}
}
}
}
Moのオブジェクトに放り込んでます
ちなみにJsonから読み込むときはstringにしないとだめっぽいので
に変更
計算するときにintになおせばいいか
ビルドしてスマホに表示してみる
文字の大きさとか見え方がシミュレータでは不安なのでスマホに表示したい
Android 版のビルド、および実行手順こちらを参照してtest.apkを作成で、スマホで起動してみる
途中なんかDL不足だったらしく、エラー?出たけど、そこで促されるままインストールしてそのままビルド
で、スマホにインストール
おおおお
androidで動いてる!
制作意欲湧いてくるね~
←前 【Unity初心者】Unityでネットゲームを作りたい【12】所持しているアニメ画像を指定の場所に表示したい
【Unity初心者】Unityでネットゲームを作りたい【14】メニューバー作成~表示順序 次→