[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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にキャストしてる箇所があるよ
>>801801(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("地面なし");
}
} }
みたいな形はテキスト使わなくてもできる簡易型だね
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の問題かなと思って
イッチに上げたらどうなるんだろうサンガツ
822: 名前は開発中のものです。 [] 2023/10/10(火) 01:12:17.28 ID:euWt7ft1(1) AAS
Animatorのうまい使い方のチュートリアルないですか?
チュートリアルというか「State間をつなぎ、変数を動かすことで発火させます」みたいな基本的な使い方じゃなくて、
アイドル状態から座る動作はこのように遷移させると自然に見える、とか
ダッシュ、ジャンプ、攻撃、着地みたいな連続的な動きをうまく遷移させるコツとか、
遷移図がスパゲティにならないような使い方の解説が欲しいんですが
ウェブサイトじゃなくても教本でも構わんです
823(1): 名前は開発中のものです。 [] 2023/10/10(火) 10:41:41.13 ID:mytr+tEE(1) AAS
キャストに付いて教えてください
キャストとparseの違いがいまいちわかりません
gptに質問したのですが、キャストは同じ型同士での変換、parseは異なる型への変換とのことです
詰まる所、型を大別すると「文字列と数値」の2つのみということですかね?
以下、gptに質問してみた結果です
キャストとParseメソッドの違いは、主に次の点です:
キャストは同じ型の変換に使用されます。つまり、基本的なデータ型間での変換(例: int から double への変換)に適しています。一方、Parseメソッドは、異なる型のデータを文字列から変換するために使用されます。
キャストは基本的に明示的な型変換です。つまり、変換先の型を明示的に指定する必要があります。例えば、(int)doubleValue というように変換先の型をカッコ内で指定します。一方、Parseメソッドは、変換元の文字列が適切な形式であることを確認し、それを適切な型に変換します。具体的な型指定は不要です。
以下に具体的な例を示します:
キャストの例:
csharp
Copy code
double doubleValue = 10.5;
int intValue = (int)doubleValue; // キャスト:明示的な型変換
Parseメソッドの例:
csharp
Copy code
string stringValue = "10";
int intValue = int.Parse(stringValue); // パース:文字列から整数への変換
要するに、キャストは既に同じ型の変数を持っている場合に使用し、型変換を明示的に行いたい場合に使用します。一方、Parseメソッドは文字列から他の型に変換するためのより柔軟な方法です。
824: 名前は開発中のものです。 [sage] 2023/10/10(火) 10:53:23.85 ID:UgD80cWG(1) AAS
イッチでもフリーズしたわ…
ワイのゲームが悪そう
825: 低クオリティでごめんねごめんね [sage] 2023/10/10(火) 11:07:43.78 ID:/knfQQEr(1) AAS
毎回同じ場所なら原因特定出来そやけど
違う場所だと、機能削っていって確認するしか無さそうね
826(1): 名前は開発中のものです。 [sage] 2023/10/11(水) 01:05:23.17 ID:DCKOkOFp(1) AAS
もしもtaskを使ってるならそれが原因WebGLでtaskを使うとフリーズする
827(1): 名前は開発中のものです。 [] 2023/10/11(水) 06:49:29.25 ID:gTMFZ2FZ(1) AAS
>>823
C# におけるキャストと `Parse` メソッドの主な違いは以下の通りです:
1. **用途**:
- **キャスト**: すでに存在するオブジェクトの型を別の型に変換するために使用されます。ただし、両方の型が何らかの関連性や変換可能性がある場合のみ可能です。
- **Parseメソッド**: 文字列を特定の型(通常は数値型や日付型など)に変換するために使用されます。
2. **例**:
- **キャスト**:
```csharp
double d = 3.14;
int i = (int)d; // ここでdの小数部分は切り捨てられる
```
- **Parseメソッド**:
```csharp
string s = "123";
int i = int.Parse(s); // 文字列"123"が整数123に変換される
```
3. **エラーハンドリング**:
- **キャスト**: キャストが不適切な場合(例:関連性のない型へのキャスト)には、実行時に例外がスローされる。
- **Parseメソッド**: 文字列が指定された型に変換できない場合、例外がスローされる。
4. **代替方法**:
- **キャスト**: `as` キーワードを使った安全なキャストや `is` キーワードを使った型チェックがある。
- **Parseメソッド**: `TryParse` メソッドを使用することで、変換が成功したかどうかをブール値で取得し、例外を防ぐことができる。
要するに、キャストは既存のオブジェクト間での型変換、`Parse` メソッドは文字列から特定の型への変換のために使用されます。
828: 名前は開発中のものです。 [sage] 2023/10/11(水) 10:01:50.00 ID:JNV72RCJ(1) AAS
>>826
Taskは使ってないはず…
ビルド設定でWebGLでもスタックトレース出せる設定があったからそれで見てみたら怪しい箇所があったからそこ修正して様子見中
一人だとデバッグ大変すぎる
829: 名前は開発中のものです。 [] 2023/10/11(水) 10:39:53.73 ID:ayYR9TGX(1/3) AAS
>>827
ありがとうキャストがよくわ非ないけど、数値同士の変換と解釈しときます
上下前次1-新書関写板覧索設栞歴
あと 173 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s