質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

1回答

289閲覧

GameObject

bathtowel

総合スコア5

0グッド

0クリップ

投稿2020/08/18 04:52

編集2020/08/18 04:57

とあるサイトに自機狙い弾のスクリプトが載せられていて、それを丸写ししたのですが、対象の弾のinspecter欄にtargetをアタッチする箇所が出来ません。どうしてでしょうか。また、どうすれば表示されるようになるのでしょうか。教えてください。
###エラー
エラーはありません。
###スクリプト
public float target(GameObject target) {
float x = target.transform.position.x - this.transform.position.x;
float y = target.transform.position.y - this.transform.position.y;
float rad = Mathf.Atan2(y,x);
return rad * Mathf.Rad2Deg;
}

public void moveZ(float z,float speed,Rigidbody2D obj) {
Vector2 move;
move.x = Mathf.Cos(Mathf.Deg2Rad * z);
move.y = Mathf.Sin(Mathf.Deg2Rad * z);
obj.velocity = move * speed;
}

###問題の部分
public float target(GameObject target)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hogefugapiyo

2020/08/18 05:00

そのサイトのURLを教えて下さい
bathtowel

2020/08/18 05:15

これです。確認よろしくお願いします。
guest

回答1

0

ベストアンサー

ソースコードを見る限り一部分が切り取られてる感じですかね。
これは引数でGameObjectを渡す形になってるので、Inspectorで設定したいなら変数として宣言したら良いかと思います

cs

1 2public GameObject targetObj; // Inspectorからアタッチ 3 4private void Start(){ 5 var angle = target(targetObj); // 引数にアタッチした奴を使う 6 Debug.Log(angle); // キャラと自機の角度が出るはず? 7} 8 9public float target(GameObject target) { 10 float x = target.transform.position.x - this.transform.position.x; 11 float y = target.transform.position.y - this.transform.position.y; 12 float rad = Mathf.Atan2(y,x); 13 return rad * Mathf.Rad2Deg; 14} 15 16public void moveZ(float z,float speed, Rigidbody2D obj) { 17 Vector2 move; 18 move.x = Mathf.Cos(Mathf.Deg2Rad * z); 19 move.y = Mathf.Sin(Mathf.Deg2Rad * z); 20 obj.velocity = move * speed; 21} 22

投稿2020/08/18 05:57

hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bathtowel

2020/08/18 11:34

詳しく説明して下さってありがとうございます!もう1つだけ質問してもいいでしょうか。speedに値が設定されていないせいか弾が動きません。どうしたらいいですか。何も知らなくてすいません。調べたのですがよく分かりませんでした
bathtowel

2020/08/19 05:26

自己解決しました。
hogefugapiyo

2020/08/19 06:05

すいません、確認が遅れました。解決済みかと思いますが、speedは引数なのでmoveZを呼ぶときに設定していただければ大丈夫です。 あるいは変数として定義しておいて、その値を使う(引数は使わない)というのもできます
bathtowel

2020/08/19 06:17

わざわざ返信して頂いてありがとうございます。無事に弾を動かすことができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問