前提・実現したいこと
UnityでRPGを作っています。
モブキャラクターに接触したらウィンドウが現れ、テキストが一文字ずつ配置されるという機能を実装するため色々と試してみましたがうまくいきません。
最終的に
http://baba-s.hatenablog.com/entry/2017/12/22/120100
https://www.slideshare.net/UnityTechnologiesJapan/unity2017text-meshpro
などを参考にして下記のコードを書いたのですが、初心者ゆえSetPage(page);をどう記述したらいいのかわかりません。
どうかご教授願います。
発生している問題・エラーメッセージ
現在のコンテキストに'SetPage'という名前は存在しません。
該当のソースコード
C#
1 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5using TMPro; 6using RedBlueGames.Tools.TextTyper; 7 8public class TextController : MonoBehaviour { 9 10 public TextMeshProUGUI TextMeshProUGUI; 11 public TextTyper textTyper; 12 13 GameObject objectA; 14 CharaEventController script; 15 16 public bool talkingflag = false; 17 18 GameObject Text; 19 20 string setText; 21 22 GameObject window; 23 UnityEngine.UI.Image windowComponent; 24 25 int pageCount; 26 27 bool isTyping; 28 29 bool isCalled = false; 30 31 32 void Start() 33 { 34 talkingflag = false; 35 36 objectA = GameObject.Find("objectA"); 37 script = objectA.GetComponent<CharaEventController>(); 38 39 Text = GameObject.Find("TextMeshPro Text"); 40 TextMeshProUGUI = Text.GetComponent<TextMeshProUGUI>(); 41 pageCount = TextMeshProUGUI.textInfo.pageCount; 42 43 window = GameObject.Find("window"); 44 windowComponent = window.GetComponent<UnityEngine.UI.Image>(); 45 46 } 47 48 49 void Update() 50 { 51 talkingflag = script.TalkFlag; 52 53 if (talkingflag == true) 54 { 55 TextMeshProUGUI.enabled = true; 56 windowComponent.enabled = true; 57 if (isCalled == false) 58 { 59 isCalled = true; 60 Moji(); 61 } 62 } 63 64 else 65 { 66 TextMeshProUGUI.enabled = false; 67 windowComponent.enabled = false; 68 } 69 70 71 72 } 73 74 void Moji() 75 { 76 Text = GameObject.Find("TextMeshPro Text"); 77 textTyper = Text.GetComponent<TextTyper>(); 78 isTyping = textTyper.IsTyping; 79 setText = ("<delay=0.25>テキスト1<page>テキスト2</delay>"); 80 81 textTyper.TypeText(setText); 82 83 if (Input.GetMouseButtonUp(0)) 84 { 85 NextPage(); 86 87 if (isTyping == false) 88 { 89 textTyper.Skip(); 90 } 91 92 } 93 } 94 95 public void NextPage() 96 { 97 int page = TextMeshProUGUI.pageToDisplay; 98 page++; 99 if(page > pageCount) 100 { 101 page = pageCount; 102 } 103 SetPage(page); 104 105 } 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121} 122 123 124 125 126 127 128 129 130 131 132 133 134
補足情報(FW/ツールのバージョンなど)
Unity5.6.6f2 Personal(32bit版)
Text Mesh Pro使ったこと無いので参考までに。
https://forum.unity.com/threads/text-mesh-pro-the-ultimate-text-solution-for-unity-powerful-flexible-advanced-text-rendering.248636/page-28
ここの#1372辺りを見る限り、アセットの機能っぽいですね。「Page Mode Demo」を確認してはどうでしょうか。
ありがとうございます!おかげさまで解決することができました!
本当に助かりました。重ね重ねありがとうございます。
解決して良かったです。同様の問題を抱えている人の為、解決方法を自己回答してベストアンサーにしてもらえれば幸いです。
ありがとうございます。
遅くなってすみません。初心者過ぎて回答システムに関して色々と誤解しておりました。
これからおっしゃっていただいた通りにします。このたびはありがとうございました。
回答1件
あなたの回答
tips
プレビュー