//tips
//nativeshare検証
シェア画像が真っ黒になるのは撮影タイミングが早すぎるのかと思い、yield return new WaitForEndOfFrame();に加え、 yield return new WaitForSeconds(3);を入れてみたが効果はなかった。
現在下記が要因ではないことは検証ずみ。
・nativeshare自体の破損(他プロジェクトで画像確認済み)
・シーンの特性によるもの(描画画面サイズ、画面向き、canvasのrendermode/canvas scaler、3Dオブジェクトの差込、比較済み)
・保存パスの有効性(他プロジェクト,xcodeで確認済み)
Shareの流れは、ボタンプッシュ→yield return new WaitForEndOfFrame();による描画待ち→撮影(maincameraを利用した画面情報の取得)、pathへの情報の保存という流れになると考えている。
昨日のXcodeの記載事項からPlayerSettingsのMetal Write-Only Backbufferのチェックを外すことで画像の表示が行われるようになった。
CrownManager:Start()
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Metal: Cannot read pixels from write-only backbuffer. Uncheck 'Metal Write-Only Backbuffer' in PlayerSettings.
(Filename: Line: 55)
概ねのsns,およびメールの画像表示範囲は問題なかったがTwitterだけは画像の一部分しか表示されなかった。
アプリの動作確認エラーはxcodeに接続し、そのメッセージを読みながらやると楽に終わることがわかった。
//Titleシーンに戻れない問題
HellレベルのBackボタンにstageselectのスクリプトのアタッチが漏れていたので元のシーンに戻れない状態が発生。
//StageSelectのhardもしくわhellレベルからcrownシーンに入った場合の問題
StageSelectのhardもしくわhellレベルからcrownシーンに入った場合、clearStageNohdとclearStageNohlが認識されない。
Crownのスクリプトにレベルが上がった時点のstagenoの称号を表示するためif (clearStageNohl == 0)を追加。
現在は0がなかったため、称号がinspectorのtext部分に書かれているテキストが表示されていた。
さらに、先日変更を加えた下記のスクリプトは、そのレベルのstageselect画面に訪れるたびに再設定されてしまう問題があることに気づいたため、条件を追加して、不可逆にする。
if (clearStageNo == 6)
{
int clearlevel = PlayerPrefs.GetInt("LEVEL", 0);
clearlevel = 1;
PlayerPrefs.SetInt("LEVEL", clearlevel);
PlayerPrefs.Save();
}
clearStageNo == 6の条件に、clearlevel<1などの条件を加え、解決した。
//hellレベルプレイヤーが動けない
Hellレベル全シーンののプレイヤー操作ボタンからスクリプトのアタッチが外れていたので再度アタッチ。