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

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

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

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

受付中

Unity スコアについて

shincra
shincra

総合スコア14

C#

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

5回答

0評価

0クリップ

1690閲覧

投稿2019/04/14 10:14

編集2022/01/12 10:55

Unityでゲームを作っているところなのですが、スコアが加算されません。プログラミングは以下の通りです。
メソッドは呼び出されますが、代入ができません。原因は何でしょうか。

呼び出される側

C#

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameDirector : MonoBehaviour { GameObject pointText; int point = 0; public void get100(){ this.point += 100; } public void get500(){ this.point += 500; } public void get1000(){ this.point += 1000; } public void get5000(){ this.point += 5000; } // Use this for initialization void Start () { this.pointText = GameObject.Find ("Point"); } // Update is called once per frame void Update () { this.pointText.GetComponent<Text> ().text = this.point.ToString () + " point"; } }

get〇〇〇を呼び出す側

c#

using UnityEngine; using System.Collections; using System.Collections.Generic; public class TestTarget : MonoBehaviour { public Texture2D cursor; // カーソルに使用するテクスチャ public AudioClip shot; private AudioSource audioSource; GameObject director; void Start () { // カーソルを自前のカーソルに変更 Cursor.SetCursor (cursor, new Vector2 (cursor.width / 2, cursor.height / 2), CursorMode.ForceSoftware); audioSource = gameObject.GetComponent<AudioSource> (); this.director = GameObject.Find ("GameDirector"); } void Update () { // マウスの左クリックで撃つ if(Input.GetButtonDown("Fire1")) { Shot(); if (Input.GetMouseButtonDown (0)) { audioSource.PlayOneShot (shot); } } } // 敵を撃つ void Shot() { Ray ray2 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit2; if(Physics.Raycast(ray2, out hit2, 100f, LayerMask.GetMask("Enemy"))) { if (Physics.Raycast(ray2,out hit2)){ if (hit2.collider.tag == "100"){ this.director.GetComponent<GameDirector>().get100(); Debug.Log ("+100"); }else if(hit2.collider.tag == "500"){ this.director.GetComponent<GameDirector>().get500(); Debug.Log ("+500"); }else if(hit2.collider.tag == "1000"){ this.director.GetComponent<GameDirector>().get1000(); Debug.Log ("+1000"); }else if(hit2.collider.tag == "5000"){ this.director.GetComponent<GameDirector>().get5000(); Debug.Log ("+5000"); } Destroy(hit2.collider.gameObject); } } } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

vo3

2019/04/14 10:27

このソースだけを見ている限りはおかしくなさそうですが、 1. get〇〇〇()は他のオブジェクトが呼んでいる 2. "Point"という名前のGameObjectが存在している 3. "Point"のGameObjectにはTextコンポーネントが割り付けてある のですよね?
shincra

2019/04/14 22:45

その3つは満たしています。原因は初歩的だと思うのですが、さっぱりです...

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

C#

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。