int型をstring型にするには.ToString()がありますが、例えばstring型をVector3型にするにはどのようにすればいいかわかりません。
具体的にやりたいこと
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class sample : MonoBehaviour 6{ 7 Vector3 pos1; 8 9 void Start() 10 { 11 /* 12 ここに「"pos1"」「"pos" + 1」のようなstring型を作り、 13 そのstring型であらわされたものをVector3型に型変換し、 14 「new Vector3(0, 0, 0)」を代入したいです。 15 */ 16 } 17}
もちろんpos1 = new Vector3(0, 0, 0);とすれば代入できますが、
一度「pos1」をstring型の文字列に変換し、その文字列を改めてVector3型に変換する方法はないでしょうか。
最終的にやりたいこと
実際はpos1~pos10まで10個のVector3型変数があり、
イメージとしましては
C#
1for(int i = 1; i <=10; i ++) 2{ 3 "pos" + i = new Vector3(0, 0, 0); 4}
のようなことをしたいです。
pos1 = new Vector3(0, 0, 0);
pos2 = new Vector3(0, 0, 0);
...
と10回やってもいいのですが、これが変数100個だと手に負えなくなってしまうため、解決策をご教示いただきたいです。
>string型をint型にするには.ToString()がありますが
逆です。int型をstring型にする場合にToStringを使用します。
前の質問もそうですが、最終的に何がしたいのかが分かりません。
何もわからないで過程の質問をするのではなく、最終的にこうしたいということを質問したほうがよろしいかと思います。
ToString()の件は私の勘違いでした。ご指摘いただきありがとうございます。
この返信が終わり次第訂正させていただきます。
最終的にどうしたいかについても併せて変更いたします。
> string型をint型にするには.ToString()がありますが、
違います。Parse とか Convert になります。
> ここに「"pos1"」「"pos" + 1」のようなstring型を作り、そのstring型であらわされたものをVector3型に型変換し、「new Vector3(0, 0, 0)」を代入したいです。
意味不明ですが・・・
Vector3 というのは ↓ これのことですよね?
Vector3
https://docs.unity3d.com/ja/2021.2/ScriptReference/Vector3.html
自力でコードを書いて望む型変換を行うクラス/メソッドなどを作ってはいかが?
そもそも何がしたいのですか? XY 問題のような気がしますけど。
XY 問題とは、X という課題があって、Y という解決策を考えついて Y について質問したが(質問には X は書かないで)、Y は X の解決策とはなっておらず、回答者と質問者間で話がかみ合わず、一向に解決にならないということです。
X も書いてください。
型変換を行うクラス/メソッドについてはそのような手法があると知らなかったので、何かしらやってみようと思います。
また、その他についてはおおかたYAmaGNZ様のご指摘と全く被った内容とお見受けしました。
質問している立場ではありますが、「変更します」と私が申し上げているのですから、編集を待っていただければ幸いです。
編集してもまだ足りないことがあれば編集後に改めてご指摘ください。
前の質問で配列を使っているので、この質問が意味不明です。
> 質問している立場ではありますが、「変更します」と私が申し上げているのですから、編集を待っていただければ幸いです。
いや、依然として意味不明ですよ。X も書いてくださいと言ったのに書いてない。
それから、回答が出ているのだから回答に対するフィードバックを返しましょう。役に立った/立たなかったぐらいは返せるのでは? 役に立たなかったならどこが期待する答えと違うかも書いてください。
https://teratail.com/questions/28a747m3d8z4mb
ここで配列を使っているのでこの質問が意味不明です。
あのベストアンサーで解決することであれば、あなたは既に知っているはずです。
回答2件
あなたの回答
tips
プレビュー