Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2015年ソフト講義資料10 ~SCORE表示~

2015年ソフト講義資料10 ~SCORE表示~

北海道科学大学 電子計算機研究部のソフトチームで行っているUnity講座の資料です。
電算部Webページ URL:http://densan.info/index.php
旧Webページ URL:http://www1.hus.ac.jp/~densan/index.htm

More Decks by 北海道科学大学 電子計算機研究部

Other Decks in Programming

Transcript

  1. SCOREの概念を導入する。  enemyのスクリプトの「Playerのタグを持つ物と 接触したら消滅する」という命令に合わせて、 Player側にも「Enemyのタグを持つ物と接触した らスコアを増加する」という命令を書き込もう。  いつも通り、次のページに用意してあるぞ。  score++とは、「scoreという関数を1つ増加させ

    ろ」という命令だぞ。  public staticは、Unity上に変数がそれしか無くど こからでも読み書きが可能になる便利なもの。し かし、C#の理念には反する行為です。気になる人 は「カプセル化」とか「データ隠蔽」で検索だ。 私も詳しくは知りません。
  2. コピペでも書き写してもおk void OnCollisionEnter(Collision collider){ if (collider.gameObject.tag == "Enemy") { score

    ++; } } } using UnityEngine; using System.Collections; public class player : MonoBehaviour { public static int score; // Use this for initialization void Start () { score=0; } // Update is called once per frame void Update () { }
  3. 画面にSCOREを出す。  皆さんは依然使用したuGUIのことを覚えているで しょうか?今回は、Textの出番となります。  しかし、今回は直接文章を入力するのではなくC# を利用します。  早速、uGUITextと次ページのC#を用意しよう。 

    Text scoretext;で文章に名義を与え、 GetComponent<Text>();で必要な物を用意させ、 scoretext.text = “Score:” + player.score.ToString ();で、「Score:数字」と表示するように命令して います。真ん中はお約束の魔法の言葉です。
  4. コピペでも書き写してもおk using UnityEngine; using UnityEngine.UI; using System.Collections; public class text

    : MonoBehaviour { // Use this for initialization Text scoretext; void Start () { scoretext = GetComponent<Text>(); } // Update is called once per frame void Update () { scoretext.text = "Score:" + player.score.ToString (); } }
  5. やってみよう。  PlayerのC#に「scoreが◦になったらクリア画面に 移行する」という命令文を書き加えてみよう。  If(条件){ scene移動の命令 }  今までやってきた物をまとめると、無数に出され

    る敵に触れてやっつけながら、陣地を守るゲーム が完成するはずです。あるいは、逆に敵に触れる とやられちゃう主人公がゴールを目指すゲームな んてのも作れるかと思います。  残りの時間は足切り制作などをお願いします。