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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

2回答

694閲覧

c#スクリプトの書き方がわからない

rine

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2024/06/23 08:03

実現したいこと

unityで3Ⅾのサッカーゲームを作っているのですが、ボールの半径≧キャラクターの位置関係になったらボールが跳ね返るというコードの書き方がわからないので教えていただきたいです。

発生している問題・分からないこと

void Update()以降の部分でエラーが発生してる状態です。

該当のソースコード

using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class ballmove : MonoBehaviour { // Start is called before the first frame update private Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } // Update is called once per frame void Update() { float xDis = x2 - x1; float yDis = y2 - y1; float zDis = z2 - z1; double distance = Math.sqrt((xDis * xDis) + (yDis * yDis) + (zDis * zDis)); } }

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索をかけてみましたがよくわかりませんでした。

補足

特になし

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

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

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

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

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

guest

回答2

0

using System; using UnityEngine; public class BallMove : MonoBehaviour { /* 定義部分 */ private Rigidbody rb; public Transform character; // キャラクターの座標が必要になる public float ballRadius = 0.5f; // ボールの半径(例として0.5) /* ここまで */ void Start() { rb = GetComponent<Rigidbody>(); // Rigidbodyコンポーネントを取得 } void Update() { // ボールとキャラクターの間の距離を計算 /* ターゲットのポジションを取得 */ /* プレイヤーのポジションを取得 */ /* ターゲットとプレイヤーの距離を取得 */ /*unity3d 2点間の距離を求める コード*/ /*ボールがキャラクターに衝突しているかチェック*/ if (ボールとプレイヤーの距離 <= ボールの半径) { /*ボールの速度を逆転させてバウンドをシミュレーション*/ } } }

コードにコメントを書いておきました。
ご自身で調べて実装してみてください。

投稿2024/06/23 12:41

isimasa

総合スコア301

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

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

rine

2024/06/30 06:50

非常に参考になりました。回答いただきありがとうございました。
guest

0

void Update()以降の部分でエラーが発生してる状態です。

x1x2などはどこにも存在しないので当然です。
「定義」すら分かっていない状態で開発を進めるのは、いくら何でも無理ゲーなので、まずは書籍などで勉強してください。

投稿2024/06/23 08:12

fiveHundred

総合スコア10037

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

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

rine

2024/06/23 11:59

そうですよね。回答いただきありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.40%

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

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

質問する

関連した質問