Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9707

Unityスコア加算

$
0
0
スコア加算 スコア加算する方法についてご紹介します。 まず、GameObjectを作ります。 SystemMainと名前つけました。 SystemMainと言うC#スクリプトを作成。 私はブロック崩しを作っていて消えたらスコア加算にしたいので、Blockスクリプト。 書いていくのはこの2つです。 SystemMain using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //UIを使用しているため、忘れずに記入 public class SystemMain : MonoBehaviour { public int Score; //Score変数を定義 //スクリプトをアタッチした時にスコア加算したいTextと紐づける public Text ScoreText; void Start() { Score = 0; //スタート時の表示 } // Update is called once per frame void Update() { ScoreText.text = string.Format("{0}", Score); //Textのフォーマット } } Block using System.Collections; using System.Collections.Generic; using UnityEngine; public class Block : MonoBehaviour { public SystemMain Sm; //ヒエラルキーのSystemMainと紐づける private int Status; //準備ができたかどうかを判断する変数 void OnCollisionEnter(Collision collision) { if (Status == 0) { Sm.Score += 100; //スコア加算していく数字 Destroy(this.gameObject); //オブジェクトが消えた時にスコア加算 } } void Start() { //SyatemMainを探す Sm = GameObject.Find("SystemMain").GetComponent<SystemMain>(); Status = 0; //0だったらCllisionのif文が実行される } } ここまで出来たら SystemMainはSyatemMainオブジェクトへアタッチ。 Blockは消えてスコア加算されたいオブジェクトへアタッチ。 アタッチ出来たらアタッチしたInspector上のスクリプトに注目。 SystemMainにはScoreText BlockにはSmに何かを入れれます。 これは SystemMain public Text ScoreText; Block public SystemMain Sm; を記載したからです。 これでヒエラルキーと紐づけます。 SystemMainのScoreTextにはスコア表示したいTextをドラッグ&ドロップ BlockのSmにはSyatemMainをドラッグ&ドロップします。 ちなみに SyatemMain public int Score; はスコア加算がInspector上にも表示されます。 これで無事、スコア加算が出来ました! このやり方は調べてもあんまり情報を得ることが出来なかったのでお役に立てると幸いです。

Viewing all articles
Browse latest Browse all 9707

Trending Articles