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

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

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

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

Unity

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

Q&A

解決済

2回答

568閲覧

!とreturn;を使った文が分からないです

ShiN1080

総合スコア3

C#

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

Unity

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

0グッド

0クリップ

投稿2021/06/23 16:53

Unityの“Standard Assets”というアセットの、タップ(クリック)した位置にプレイヤーを移動させるというサンプルの“ターゲット”にアタッチされたスクリプト内の、“!”と“return;”を使った文が分からないです。(このターゲットは参考画像の赤い照準のようなマークのことでタップしたタイミングで、タップした位置(目標地点)に表示され、その位置にプレイヤーが移動します。)
赤いのがターゲット
↓このコードの1417,2023行目が分からないです。

1 using System; 2 using UnityEngine; 3 4 namespace UnityStandardAssets.SceneUtils 5 { 6 public class PlaceTargetWithMouse : MonoBehaviour 7 { 8 public float surfaceOffset = 1.5f; 9 public GameObject setTargetOn; 10 11 // Update is called once per frame 12 private void Update() 13 { 14 if (!Input.GetMouseButtonDown(0)) 15 { 16 return; 17 } 18 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 19 RaycastHit hit; 20 if (!Physics.Raycast(ray, out hit)) 21 { 22 return; 23 } 24 transform.position = hit.point + hit.normal*surfaceOffset; 25 if (setTargetOn != null) 26 { 27 setTargetOn.SendMessage("SetTarget", transform); 28 } 29  } 30 } 31 }

“!”と“return;”を使うことでどのような処理が行われるのか、などを教えていただけると幸いです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/06/23 22:41

! とか return は C# の文法の基本のキで、そういうことをここで聞くのは釣りとか荒らしと思われるかも。
ShiN1080

2021/06/23 23:10

そうなんですね…何冊か参考書を買ったり、いろんなサイトを見て回ったりしたのですが分からなかったので質問してしまいました…ご指摘ありがとうございます。今後は気をつけるよう努めます。
gentaro

2021/06/23 23:28

参考書買ったのなら、買っただけで読んでないとしか思えないぐらい初歩の初歩だけども…。 独習でやってるなら、流石にこれぐらい理解できてないのはちょっとこの先辛いと思うから、せめてスクールにでも通った方が良さそう。
退会済みユーザー

退会済みユーザー

2021/06/24 01:02

↓ 一度読んでみることをお勧めします。 質問するときのヒント https://teratail.com/help/question-tips #釣りとか荒らしではないとしても「教えて君」認定はされてしまうかも。「教えて君」でググると面白い記事がヒットします。
YAmaGNZ

2021/06/24 01:08

Unity初心者向けで探すのではなくC#初心者向けのUnityとは関係のないものを探すといいかもしれませんね
ShiN1080

2021/06/24 01:31

ご指摘やアドバイスありがとうございます。
guest

回答2

0

”!”は否定。”return”は戻る。

if (!もし~じゃなかったら) { return;もどってね(つまりこれ以降の処理は実行しない) }

投稿2021/06/24 00:57

deo_deo

総合スコア198

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

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

ShiN1080

2021/06/24 01:18

ご回答ありがとうございます。
guest

0

ベストアンサー

if(!条件){ 処理 }

は、条件が偽の時に括弧内の処理を実行します。

投稿2021/06/23 17:19

otn

総合スコア85949

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

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

ShiN1080

2021/06/23 22:57

ご回答ありがとうございます。お聞きしたいのですが、括弧内の処理がreturn;だけで終わっている場合はどのような意味があるのでしょうか?
ShiN1080

2021/06/23 23:17

if(!条件){ return ; } の場合、条件が真の時に次の処理(下の行)に進み、条件が偽の時は次の処理に進まないという認識で合っているでしょうか?間違ってたらすみません。
otn

2021/06/24 00:12

> 括弧内の処理がreturn;だけで終わっている場合はどのような意味があるのでしょうか? returnという命令の意味がわからないという質問でしょうか? > 条件が真の時に次の処理(下の行)に進み、条件が偽の時は次の処理に進まないという認識で合っているでしょうか? その通りです。
ShiN1080

2021/06/24 01:33

おかげで分かりました。本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問