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

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

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

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

Unity3D

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

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

Unity

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

Q&A

0回答

319閲覧

スコア判定がうまくできない

Jorge

総合スコア6

C#

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

Unity3D

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

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

Unity

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

0グッド

0クリップ

投稿2020/01/19 11:16

スコア判定がうまく出来ない

Unityでプレイヤーの手にオブジェクト(銃など)を持たせてを
プレイヤーに向かってくる敵やスライム(cube作成)などを攻撃して
スコア判定を出るようにしようとしてるのですが、スコア判定の
参考サイトや本を参考にしても判定がうまくできません。

調べたところ、スコア表示だけだったりしてよくわからずお助けを願いします。

敵やスライム等ははプレハブ化したものを使用していて、
以下のスクリプトをアタッチしているのですが

scoreのC#

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(Text))] public class Score : MonoBehaviour { Text uiText; public Text scoreText; //Text用変数 public int Points { get; private set; } //スコア計算用変数 void Start() { uiText = GetComponent<Text>(); } public void AddScore(int addPoint) { //加算 Points += addPoint; //更新 uiText.text = string.Format("score:{0:D3}", Points); } }

プレハブ化してるオブジェクトのC#

using UnityEngine; [RequireComponent(typeof(AudioSource))] public class Enemy : MonoBehaviour { [SerializeField] int point = 1; //倒れた Score score; // Start is called before the first frame update void Start() { //ge-mu var gameObj = GameObject.FindWithTag("Score"); //konpone score = gameObj.GetComponent<Score>(); } void GoDown() { //スコア判定 score.AddScore(point); } }

プレイヤーがオブジェクトに触れた時の判定やオブジェクトが消えるところまでは出来てます。ただスコア判定だけが出来ずエラーコードもありません。
オブジェクトは自動生成です。

補足情報

Unity 2018.3.5.

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

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

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

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

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

RyotaroIsoyama

2020/01/19 11:22

GoDown関数はどこで呼び出していて、またちゃんと呼び出されていますか?
Jorge

2020/01/22 11:12

GoDownの関数ですがよくみたらちゃんと呼び出されていなく、消してみたらスコア判定が動くようになりました。ですがオブジェクトを壊して判定ではなく自動的に動いてしまいます。 スクリプトの //更新 uiText.text = string.Format("score:{0:D3}", Points); と思ったのですが、特に変わりませんでした。
RyotaroIsoyama

2020/01/22 12:02

消してみたらとは?? プレイヤーがオブジェクトに触れた時の判定というのは、プレイヤー側のcollisionenter等で実装してるのですが? それならそちらでGoDownを呼び出せば解決しそうですが、 あとPointsの初期値はUnityで設定してるんでしょうか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問