//tips
登録、実機テスト、調整
//Apple Developer Program登録
AppstoreでリリースするためにApple Developer Program登録。
税込み12,980円(11,800+1,180)。
https://developer.apple.com/jp/programs/
記入欄は英語だが、海外飛行機の税関申告書の記載の方が難しいレベルなので問題ない。
Apple Developer Programに登録しても、すぐに使え流わけではなく、了承の連絡がメールでくるまで待つ必要がある。
連絡が中々こない場合は、問い合わせする必要があるよう。
//Unity側のBuildsetting>playerでiOSのアイコン欄を地道に埋めていく
地道にMacで作成したiconをフォルダごとUnityにインストールさせ、内部でtexture typeをEditorGUIに変更する。
変更する中で画像の表示の綺麗さが改善される。特に小さいピクセル単位であると表示画像が荒いので大変助かることになる。
このあとはApple Developer ProgramでIdentifiersを登録しなければならないので、appleから承認メールが届くまで待機。
//シーン移行時の背景表示のcanvas順序
シーン移行時のloading画面表示にボタンの表示が紛れ込て出てしまったので調整。
これはcanvasの表示順序が下にいくほど画面手前に表示される仕組みになっているためで、loading画面はcanvasの一番下に来るように配置変更する。
//音がでないステージへの対応
1Sceneのみ何故か音が出ないので要因を調べていたら、Playonawakeのチェックが誤クリックしたのか外れていた。
Cameraのlistenerが要因かと思ったが、基礎的な部分からチェックする。
//称号の編集のずれ
UItextとして表示する称号とgoal時点でエフェクト表示する称号が一部異なるので修正・統一。
Levelの表示が0-2で違和感を覚えたのでeasy,hell,hardの形でlevelを数字ではなく文字で表すようにした。nowlevelに対応する文字を返すnowlevelnameを組み込んだ。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class UItext : MonoBehaviour
{
[SerializeField] UnityEngine.UI.Text textbox;
public int playstage;
void Start()
{
//PlayerPrefs.DeleteAll();
int clearStageNo = PlayerPrefs.GetInt("CLEAR", 0); //どのステージまでクリアしているのかをロード(セーブされていなければ「0」)
int clearStageNohd = PlayerPrefs.GetInt("CLEARhd", 0);//lavelhard
int clearStageNohl = PlayerPrefs.GetInt("CLEARhl", 0);//lavelhell
int clearlevel = PlayerPrefs.GetInt("LEVEL", 0);
int nowlevel = PlayerPrefs.GetInt("nowLEVEL", 0);
int playstage = PlayerPrefs.GetInt("playstage", 1);//stageボタンクリックで認識ninposスクリプト
string nowlevelname;
if (nowlevel == 0)
{
nowlevelname = "EASY";
}
else if(nowlevel == 1)
{
nowlevelname = "HARD";
}
else
{
nowlevelname = "HELL";
}
if (clearlevel == 0)
{
if (clearStageNo == 0)
{
textbox.text = "称号:" + "子鹿さん" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNo == 1)
{
textbox.text = "称号:" + "お使いの達人" + "\n" + "STAGE: " + nowlevelname + " - "+ playstage;
}
if (clearStageNo == 2)
{
textbox.text = "称号:" + "タンポポ組" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNo == 3)
{
textbox.text = "称号:" + "1年1組" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNo == 4)
{
textbox.text = "称号:" + "学級委員" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNo == 5)
{
textbox.text = "称号:" + "生徒会長" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNo == 6)
{
textbox.text = "称号:" + "才能開花" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
}
if (clearlevel == 1)
{
if (clearStageNohd == 0)
{
textbox.text = "称号:" + "才能開花" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 1)
{
textbox.text = "称号:" + "忍者の卵" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 2)
{
textbox.text = "称号:" + "忍者見習い" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 3)
{
textbox.text = "称号:" + "下忍" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 4)
{
textbox.text = "称号:" + "中忍" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 5)
{
textbox.text = "称号:" + "上忍" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohd == 6)
{
textbox.text = "称号:" + "頭領" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
}
if (clearlevel == 2)
{
if (clearStageNohl == 0)
{
textbox.text = "称号:" + "頭領" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 1)
{
textbox.text = "称号:" + "求道者" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 2)
{
textbox.text = "称号:" + "勇者" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 3)
{
textbox.text = "称号:" + "怪物" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 4)
{
textbox.text = "称号:" + "修羅" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 5)
{
textbox.text = "称号:" + "亜神" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
if (clearStageNohl == 6)
{
textbox.text = "称号:" + "神の系列" + "\n" + "STAGE: " + nowlevelname + " - " + playstage;
}
}
}
}
また、stage6のクリア時に、クリアレベルの増加読み込みが、stage6の称号表示よりも早く、初回クリアにもかかわらず称号が表示されない。
Stageselect画面にif (clearStageNo == 6)でクリアレベルを加算するスクリプトを転記した。
if (clearStageNo == 6)
{
int clearlevel = PlayerPrefs.GetInt("LEVEL", 0);
clearlevel = 1;
PlayerPrefs.SetInt("LEVEL", clearlevel);
PlayerPrefs.Save();
}
こちらで問題は解決。
//playerの行動範囲が場外まで動けてしまう
パソコンで操作するif (Input.GetKeyDown(KeyCode.RightArrow))のコードのみ修正されており、
public void Push~~Button()以下のボタンを押して移動するスクリプトの修正がされていなかった。
ボタンのスクリプトもきちんと編集。