###前提・実現したいこと
「同じオブジェクト同士が衝突した際にそれらを消し、同時にスコアアップさせてそれを表示させる」
ということをやろうとしているのですが、jsファイルからC#ファイルへの変数アクセスができなくて、コンソールにエラーメッセージが出てきてしまいます。(それ以外はできています。)
jsファイル上の処理から、C#ファイルに書かれたフィールドにアクセスする方法を教えてください。
###発生している問題・エラーメッセージ
Assets/OnCollisionEnter2D.js(12,30): BCE0005: Unknown identifier: 'ScoreText'.
###該当のソースコード
jsファイル
#pragma strict function OnCollisionEnter2D(col:Collision2D){ if(col.gameObject.name == gameObject.name ){ Destroy(gameObject); var tmpScr = ScoreText.getScore(); tmpScr += 1;//Add ScoreText.setScore(tmpScr); } }
C#ファイル
using UnityEngine; using System.Collections; using UnityEngine.UI; //ここが重要です!UIを使うときは忘れずに! public class ScoreText :MonoBehaviour { public Text Score ; //public にしてインスペクターからTextを指定する public static int score = 0; //score変数に得点の値が入る void Start() { } void Update() { Score.text = "得点 :" + score; } public static void setScore(int scr){ score = scr; } public static int getScore(){ return score; } }
C#ファイルで書かれたスコア記録用処理に
衝突判定処理が書かれたjsファイルからアクセスして、値を変更したいのです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/21 08:51