[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
797: 名前は開発中のものです。 [sage] 2023/10/07(土) 01:02:55.84 ID:RUJ3H4EG(3/3) AAS
すまんRepositoryじゃなくてRegistryだったわ
UnityRegistryな
ずっとRepositoryだと思ってた
798: 名前は開発中のものです。 [] 2023/10/07(土) 05:20:30.83 ID:qkvZb3Xq(1) AAS
>>794そうよね
多分、この能力が弱いから、何してるか分からなくなる
799: 名前は開発中のものです。 [sage] 2023/10/07(土) 12:34:08.35 ID:4GUHVeZ/(1) AAS
コードが1番厳格な言語なんだから逆にお前らコード読めよって言いたくなる
800: 名前は開発中のものです。 [] 2023/10/08(日) 11:11:44.83 ID:A53HSSQN(1) AAS
一年後の自分がみてすぐ意味がわかるコードならコメントなくていいよ
801(1): 名前は開発中のものです。 [] 2023/10/08(日) 14:38:08.50 ID:qKc3n1hD(1/2) AAS
gptに聞いても分からなかったので、質問さえてください(*´ω`*)
enum型のgrounttypeで判定を行いたいのですが、以下の例であれば0がnoneに相当するはずなので、「地面なし」が1回printされると考えました
しかし2回反復されます
すみません、頭がこんがらがりやすいのですが、修正点はありますか?
private enum groundType {
NONE,
GROUND
}
private groundType[,] nurulist;
int[,] tile = {
{0,1,1,1 },
{ 1,1,1,1}
};
private void Start()
{
nurulist = new groundType[tile.GetLength(0), tile.GetLength(1)];
for (int y = 0; y < tile.GetLength(0); y++)
{
for (int x = 0; x < tile.GetLength(1); x++)
{
//エレメントを取り出してる
var val = nurulist[x, y];
//2回しか反復されないね
if (val == groundType.NONE)
{
print("地面なし");
}
} }
802: 名前は開発中のものです。 [] 2023/10/08(日) 15:08:48.89 ID:CixfVofr(1/4) AAS
for文の中にfor文で2回じゃないの?
print(val);
//2回しか反復されな
printしたらNONE2回表示されたよ
あと折角ENUMにしたのに、
int[,] tile = {
{0,1,1,1 },
{ 1,1,1,1}
これに使わんの意味ないやん
多次元配列はややこしいから、まずやりたいことを
1次元配列にしてみては?
803: 名前は開発中のものです。 [] 2023/10/08(日) 16:06:40.55 ID:CixfVofr(2/4) AAS
さて
private enum groundType
{
NONE,
GROUND
}
private groundType[,] nurulist;
groundType[,] tile = {
{groundType.NONE,groundType.GROUND },
{groundType.GROUND,groundType.GROUND },
};
private void Start()
{
nurulist = new groundType[tile.GetLength(0), tile.GetLength(1)];
少し簡単にしてみた
これ見ればわかると思うけど
比較してるとこ、、何もはいってないよね?
てことで
//nurulist = new groundType[tile.GetLength(0), tile.GetLength(1)];
nurulist = tile;
にすれば行けるけど
まぁシンプルにした方がいいんじゃない
804: 名前は開発中のものです。 [] 2023/10/08(日) 16:09:13.97 ID:CixfVofr(3/4) AAS
ちなみに、最初のと修正後のprint
画像リンク
画像リンク
805: 名前は開発中のものです。 [] 2023/10/08(日) 16:16:04.91 ID:CixfVofr(4/4) AAS
つまり
nurulist = new groundType[tile.GetLength(0), tile.GetLength(1)];
これがただNEWして箱を用意してるだけね
中身は入れてないという事ね
コンストラクタに渡したいのかと思うけどね
806: 名前は開発中のものです。 [sage] 2023/10/08(日) 16:18:35.99 ID:jvAEMxWF(1) AAS
質問です
音声の出力を、
VR繋いだら2chにしたいけどVR繋がない時は5.1chにしたいです
方法ありますか?
807(1): 名前は開発中のものです。 [] 2023/10/08(日) 17:49:03.90 ID:qKc3n1hD(2/2) AAS
外部リンク:gist.github.com
ありがとうございます
倉庫番のソースを出すべきでした
後出しする癖は治します
このソースの100行目付近でvalとtiletype.noneの列挙型で条件判定をしていると思うのですが、その仕組を再現したくて、サンプル作ってたところでした
valの中には何が入ってるんでしょうか?
808(1): 名前は開発中のものです。 [] 2023/10/09(月) 08:42:52.09 ID:vRb4YrKY(1) AAS
>>807
テキストファイルから抽出したtilelistの中身を取り出してるね
中身はTiletype型だね
100行目の手前で文字列を数値化した後tiletypeにキャストしてる箇所があるよ
>>801みたいな形はテキスト使わなくてもできる簡易型だね
for (int x = 0; x < tile.GetLength(0); x++) {
for (int y = 0; y < tile.GetLength(1); y++) {
nurulist[x, y] = (groundType)tile[x, y];
みたいに中身をいれてやらんとダメだね
上の人も言ってるけど
nurulist = new groundType[tile.GetLength(0), tile.GetLength(1)];
だけだと中身が初期化されるからこのままだと中身は全部noneだね
809: 名前は開発中のものです。 [sage] 2023/10/09(月) 11:43:40.77 ID:gtBjEm4L(1) AAS
デバッガで見ればいいじゃん
textはただ読んだだけじゃ型の付与は自動では行われないから全部ただのStringになる
だからキャストしないとintにならない
その手間があるから配列を2つ使うのであって、キャストが必要ないならそもそも配列を2つ使う意味ない
810: 名前は開発中のものです。 [] 2023/10/09(月) 12:30:40.45 ID:r3yP+wQc(1) AAS
デバッガで見られないだろうと想定して
printで表示して画像まで貼ってあげてる
最初の人えらいなあ
811(1): 名前は開発中のものです。 [] 2023/10/09(月) 14:02:31.35 ID:vof/8Dt/(1/4) AAS
>>808
ありがとうございます
列挙型で条件判定している理由がいまいちわからないのですが、単純にわかりやすいからそうしているのでしょうか?地面ありは1、地面なしは0のような条件判定でも可能ではありますけども。
812: 名前は開発中のものです。 [] 2023/10/09(月) 14:04:28.34 ID:vof/8Dt/(2/4) AAS
外部リンク:www.sejuku.net
キャストの理解が甘いのでしばらくここやります
813: 名前は開発中のものです。 [] 2023/10/09(月) 14:43:38.26 ID:vof/8Dt/(3/4) AAS
基礎できてないと駄目ですね
急がば回れ
814(1): 名前は開発中のものです。 [] 2023/10/09(月) 15:25:53.20 ID:09LWMBEV(1) AAS
>>811
分かりやすいからだろうね
キャストは簡単だよ
enumをintにキャストした場合、列挙されてる上から0,1,2,3って順番に変換されるだけ
逆も同様
815(1): 名前は開発中のものです。 [] 2023/10/09(月) 16:23:28.91 ID:pKPluVsi(1) AAS
何のために列挙型にするかというと
わかりやすさと安全性だよ
この場合はNONEとGROUDしか受け付けないとしばることができる
intならいろんな数字が入ることを想定しないといけない
この場合は2つで済むから楽で安全だろ?
だからintにキャストは安易にしてはダメ
C#は基本的に意味のない仕様はないから
そういう安易な理解のまま進めない方がいい
816: 名前は開発中のものです。 [] 2023/10/09(月) 17:09:51.52 ID:ETUMQ4bb(1) AAS
まあ通行可能判定みたいな本当に二つしかない判定ならBoolでいいとは思うけどね
それでもうっかりさんはcannotpath=trueなのか、canpath=Trueなのか忘れてしまうからなw
そういう時にもenum{canpath,cannotpath}にしとけば誰が見てもわかるし、あとあとslidepathとかdoublecostpathとか追加するのも楽だったりする
817: 名前は開発中のものです。 [sage] 2023/10/09(月) 17:16:16.72 ID:eLHYY8gC(1) AAS
まあ拡張性考えるとboolは無いな
818: 名前は開発中のものです。 [] 2023/10/09(月) 17:33:26.63 ID:vof/8Dt/(4/4) AAS
>>814
>>815
ありがとうございます
キャストについてちょっと勉強してきます
また、2日後(*´ω`*)
819: 名前は開発中のものです。 [sage] 2023/10/09(月) 17:41:35.81 ID:FYLcGTgG(1) AAS
質問です
作ったゲームをUnityroomに公開したところプレイの途中でフリーズしてしまいます
exeでもapkでもフリーズはしないのですがどのように調査すれば良いでしょうか
もしくはフリーズ自体直し方わかる方いらっしゃいませんか?
820: 低クオリティでごめんねごめんね [sage] 2023/10/09(月) 18:05:00.78 ID:fHLMLlEn(1) AAS
どうしてもUnityルームじゃないとあかんのん?
イッチじゃダメなん?
821: 名前は開発中のものです。 [sage] 2023/10/09(月) 21:15:37.23 ID:R+l0SF8j(1) AAS
いやWebGLの問題かなと思って
イッチに上げたらどうなるんだろうサンガツ
上下前次1-新書関写板覧索設栞歴
あと 181 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s