[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart3 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart3 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
960: 名前は開発中のものです。 [sage] 2021/04/19(月) 03:19:41.79 ID:9UmQ5f3w 配列の任意の文章をログに表示するのと画面にただ表示するのまでは分かったんですが 配列の一部をセリフとして呼び出すにはどう書けばいいでしょうか 今だとクリックした際にテキストデータをただ上から読むだけなので任意の文章をテキストから抜き出してセリフとして読み込むようにしたいです http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/960
961: 名前は開発中のものです。 [sage] 2021/04/19(月) 03:21:01.44 ID:9UmQ5f3w public class NewBehaviourScript : MonoBehaviour { [SerializeField] private Text dataText; [SerializeField] private TextAsset textAsset; private string loadText2; private string[] splitText2; private int textNum2;// // Start is called before the first frame update void Start() { loadText2 = (Resources.Load("Test", typeof(TextAsset)) as TextAsset).text; splitText2 = loadText2.Split(new string[] { "@br", "キ" }, System.StringSplitOptions.None); textNum2 = 0; dataText.text = ""; Debug.Log("現在の文章は" + splitText2[1] + "です"); } http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/961
962: 名前は開発中のものです。 [sage] 2021/04/19(月) 03:21:13.27 ID:9UmQ5f3w // Update is called once per frame void Update() { dataText.text = string.Format(splitText2[1]); if (Input.GetButtonDown("Fire1")) { } else if (Input.GetButtonDown("Fire3")) { if (splitText2[textNum2] != "") { dataText.text = splitText2[textNum2]; textNum2++; if (textNum2 >= splitText2.Length) { textNum2 = 0; Debug.Log(" o"); } Debug.Log(" f"); } else { dataText.text = ""; textNum2++; Debug.Log("g"); } Debug.Log(" y"); } } } http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/962
963: 名前は開発中のものです。 [sage] 2021/04/19(月) 13:06:11.69 ID:0g8RDZsf セリフ以外の行の文頭に何か識別子になる記号か文字を入れるといいよ 例えば //この行はセリフではありません と書いて、 if(splitText2[textNum2].StartsWith("//"))という感じで場合分けする http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/963
964: 名前は開発中のものです。 [sage] 2021/04/19(月) 19:00:03.03 ID:4Rq0XDd2 ソースコードと質問の内容これ関係ある? http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/964
965: 名前は開発中のものです。 [sage] 2021/04/20(火) 04:10:47.93 ID:WTsuCl3Q >>963 なるほど… 色々試してみたんですがstarstwithでうまくセリフの取得が出来ませんでした falseという結果は返ってくるのでstartswithの記述は問題なくテキストデータが取得出来てないということだと思うのですが startswithで文字列splittext2や整数textNum2を取得?するのってどんな感じで書くといいんでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/965
966: 名前は開発中のものです。 [sage] 2021/04/20(火) 08:59:45.24 ID:65dsA0at やる気が感じられない。 むしろ、全文アップして、さぁやってくれ、としか。 使い方ならまずググってはどうか? そしてこの箇所でエラーが出てる、こういうエラーです。やりたいことはこうです(より具体的に)と聞く。 そりゃ結果引き出すのに全文アップ、こうしたい(漠然)は、一見早道に見えるがそれは丸投げで仕事と変わらないよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/966
967: 名前は開発中のものです。 [sage] 2021/04/20(火) 14:20:08.17 ID:7astfA6t >>965 StartsWithがどういうものかは調べた? テキストデータは配列に入っていて、StartsWithはそれが条件に合うかを調べているだけだよ もう一度言うけどテキストデータは配列に入ってる splitText2[textNum2]がテキストデータそのものなんだよ テキストデータが取得したいならsplitText2[textNum2]と何回でも書けばいい 考え方を変えないといけないよ 「セリフじゃないものは取得しない」じゃなくて、「取得した上でそれがセリフかどうか調べて、セリフのときどうする、セリフじゃないときどうする」という処理を書くんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/967
968: 名前は開発中のものです。 [sage] 2021/04/20(火) 14:27:43.34 ID:7astfA6t あと、 「セリフじゃないとき次の行にスキップする」という処理はまだ難しいだろうから まずは「セリフじゃないときはゲーム画面じゃなくコンソールに表示する」という処理を書いてみるといい http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/968
969: 名前は開発中のものです。 [sage] 2021/04/20(火) 15:41:36.84 ID:cs1XPVu9 やりたいことがよくわからんのだが ファイルの中身を配列に格納しないで ファイルから「n行目」を直接取り出したい、 ってこと? http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/969
970: 名前は開発中のものです。 [sage] 2021/04/20(火) 16:55:04.41 ID:0el4pdKx テラシュールの丸パクリでコードの意味分かんないって言ってるパティーン? @brってなんだよ? http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/970
971: 名前は開発中のものです。 [sage] 2021/04/20(火) 21:34:12.77 ID:Nemf1p3+ 上のテキストの人、 やりたいことをまず日本語で書きたまへよ http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/971
972: 名前は開発中のものです。 [sage] 2021/04/20(火) 21:35:05.01 ID:6iF3Vp9B よくわからんけどテキストファイルからセリフを引っ張る仕様は良くないと思う ScritableObjectにセリフ入れて抜き出した方が簡単だしセキュリティも強い using UnityEngine; [CreateAssetMenu(fileName = "Data", menuName = "Test/SerifList", order = 1)] public class SerifList : ScriptableObject { public string[] Serifs = new string[]{"色々1","色々2"} ; } using UnityEngine; public class SerifReader : MonoBehaviour { public SerifList SP; void Start () { Debug.Log (SP.Serifs[0] + " " + SP.Serifs[1]); } } http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/972
973: 名前は開発中のものです。 [sage] 2021/04/21(水) 03:01:58.03 ID:jAeLgXYq >>967 Debug.Log( splitText2[textNum2].StartsWith("/a") )で色々()に入れてやったんですがコンソールにはfalseしか表示されないんですよね テキスト読み込んだ結果だとしたらどうしてfalseしか出ないのか謎で >>969>>971 ゲームで使う文章を一つのファイルにまとめて管理したいってのが目的です >>972 試してみます http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/973
974: 名前は開発中のものです。 [] 2021/04/21(水) 03:56:59.13 ID:dKfffT7I Unityでアプリを作っています。 「Assets\Plugins\Android」フォルダ内にAndroidManifestファイルがありません。 このファイルは何処にありますか? 使っている環境は下記の通りです。 OS : Windows10 Unity 2020.3.0f1 Personal ご存知の方いらっしゃいましたら、教えて頂けると助かります。 宜しくお願い致します。 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/974
975: 名前は開発中のものです。 [sage] 2021/04/21(水) 09:33:45.69 ID:8ON1ccpz >>973 StartsWith("a/")は"a/"で始まっているかどうかを調べているだけだよ だから、始まっているかいないか(trueかfalse)のどちらかが入っているのが正しいんだよ ちゃんとStartsWithをググってみたかい? そこに書かれてるサンプルコードは見た? if( splitText2[textNum2].StartsWith("/a") ){ dataText.text=""; Debug.Log(splitText2[textNum2]); }else{ dataText.text=splitText2[textNum2]; } これでセリフじゃないときは何も表示しないようになる セリフじゃないものを飛ばして次の行に行く処理はスマホで書くには面倒すぎるので、あとはもうteratailとかで質問する方がいい この程度なら誰か答えてくれる http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/975
976: 名前は開発中のものです。 [sage] 2021/04/21(水) 10:38:01.09 ID:gJNuXb5E >>973 あー、まとめて管理したい、の先でもうちょっと細かく具体的にどういう挙動をさせたいのかと。 >>960で言ってるような事をさせたいとしたらどういう動作をプログラムしたらその挙動が実現できるのか、日本語でまず思いつけないとプログラムにも出来んよ あとStartWith使えと言われた時に、戻り値が何かとかはIDEでもマニュアルでも簡単に見れるだろうからboolが返ってくるなら文字列は取れんよなとかはすぐ推測してえ、じゃあ何のためにこれ使えって言ったの?とかを考えるとかはしたい所 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/976
977: 名前は開発中のものです。 [sage] 2021/04/21(水) 11:29:27.47 ID:fnNquQuQ >>975 >>976 あーテキスト全体を確認してるわけじゃないということですね 配列の1行目しか確認してないからfalseしか出ないと言うことか おかげで理解が深まりました 出てきた言葉とか改めて調べながら再確認したいと思います 回答ありがとうございました http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/977
978: 名前は開発中のものです。 [] 2021/04/21(水) 13:18:26.45 ID:3LoLXylU コルーチンか有効なのは アプリを起動してから閉じるまでの間に限られますよね。 アプリを閉じても日時指定や期間指定で オブジェクトを表示非表示したりするには どうしたらいいのでしょうか よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/978
979: 名前は開発中のものです。 [sage] 2021/04/21(水) 15:28:37.88 ID:gJNuXb5E >>977 一行目、二行目、多分回答してくれてる人の意図伝わってないと思うw まあまだ色々と理解してない風だから色々見直してまたわからなくなったらくるがよろし http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/979
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 23 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s