ノベルゲームを製作中なのですが、外部ファイルを読み込まずに、文字を一文字ずつ表示し、マウスをクリックすると続きの文が出てくるようにしたいです。unityでこれを可能にする方法があるなら教えていただきたいです。また、スクリプトを作らなければいけない場合は参考になりそうなサイトも教えていただけると助かります。
外部ファイルを使うと、ゲームをビルドしたとき、テキストに文字が表示されませんでした
C#
1 void LoadText() 2 { 3//Addressableでテキストを読み込む 4 Addressables.LoadAssetAsync<TextAsset>("Assets/Text/scene1.txt").Completed += novelData
Addressableを使って、外部ファイルを読み込んでます
外部ファイルを使ってはいけない理由を記載してください。
昔ならともかく、現在では読み込む時間はほとんどかからないですし、無駄な負担が増えるだけでしょう。
> 外部ファイルを使うと、ゲームをビルドしたとき、テキストに文字が表示されませんでした
使い方が悪いだけです。
コードと外部ファイルの配置場所などを確認するか、質問に記載してください。
例えば、File.ReadAllText()を使う場合は、ファイルをStreamingAssetsディレクトリに配置し、なおかつApplication.streamingAssetsPathを使ってパスを指定する必要があります。
StreamingAssetsをunityのAsset内に追加したいのですが、方法がわかりません、良かったら教えていただけませんか。
Addressablesを使わないのであれば、ただ単に「StreamingAssets」というディレクトリを作成するだけです。
Addressablesを使ってもファイルを読み込むことは可能なのですか?Addressableでも外部ファイルの配置場所を正せば、テキストの表示はできますか?
Addressablesはあまり使ったことないですが、その場合だとあまりStreamingAssetsを意識する必要は無いのではないかと思います。
むしろ、Addressablesはアプリのビルドの前に、個別のビルドをする必要がある、という記事を見かけましたが、そちらは行っていますか?
https://docs.unity3d.com/Packages/com.unity.addressables@1.19/manual/AddressableAssetsGettingStarted.html
個別のビルドをしていなかったのが原因でした。長い間付き合っていただきありがとうございました
回答2件
あなたの回答
tips
プレビュー