こんどは,さきほどの
int cat = Random .Range(0, 2); Debug.Log (cat);
を
void Update(){ }
の{と}の間に移動させ(void Start(){ }の間から出して),再生してConsoleを確認しましょう.
こうなります.
Update中の{}に書かれたものは,ゲーム再生中ひたすら繰り返されます.
ランダム値を発生させてみましょう
// Use this for initialization
void Start () {
}
このvoid Start()は{と}に囲まれた中を最初の1回実行します.最初の1回のタイミングは,UnityのPlayボタンを押した時の1回です.
この{ と } の間に
int cat = Random .Range(0, 2); Debug.Log (cat);
と入れてください.
intは整数の変数を作ろう!(えさ箱)
cat は整数をいれておくための変数の名前(えさ箱の名前的な)
Radndomは乱数発生
.Ramgeは範囲指定
(0, 2)は範囲は0から2の間
の意味です.
Debug.Log(cat); はcatの変数の中身をコンソールに表示せよというものです.
これを記入して,保存します.
Unityのボタンやアイコンなど,GUIと呼ばれるパーツを作成してみましょう
なお,検索語は ugui (unity guiの意味)がいいです.
以前あったアセットに,NGUIというものがあり,それと混同されることがたまにあるので注意ください.

myscript と入力using UnityEngine; using System.Collections;
の後に,
using UnityEngine.UI;
を追加します.
これはUIシステムを使えるようにするためです.UIを使わない場合は不要です.
冒頭の3行はこうなりましたか?
using UnityEngine; using System.Collections; using UnityEngine.UI;




void gobadEnd(){
SceneManager.LoadScene ("badend");//go badend scene
}
MBAASはJSON互換だけど,JSONは遅れずDictionaryが受けられるらしい.
んで,Dictionaryを真面目に使ったらエラーでるのよ.
いける例
using System.Collections.Generic;
public class skillSender : MonoBehaviour {
static public Dictionary<string,int> skillPDic;//スキルチェックポイント用
// Use this for initialization
void Start () {
skillPDic = new Dictionary<string, int> () {
};
}
NGの例
using System.Collections.Generic;
public class skillSender : MonoBehaviour {
static public Dictionary<string,int> skillPDic;//スキルチェックポイント用
// Use this for initialization
void Start () {
Dictionary<string,int> skillPDic = new Dictionary<string, int> () {
};
}
if (gameTime < 1) {
//go end
StopCoroutine("loop");
Invoke("goEnd", 2f);
}
変数 gameTimeが1未満になったら,時間制御をしているコルーチンloopを止めて,goEndの関数を2秒後に実行 の意味
こちらは2秒後に実行されるので,少し余裕が持てます.goEndを実行するタイミング(ここでは2秒)を変えて自分が最も良いと思う時間に変更してみましょう
なお2fのfはfloat(実数)の意味です.Unity上では実数の場合はfとつけるルールがあります
これでもいけます
if (gameTime < 1) {
goEnd();
}
変数gameTimegが1未満になったらgoEnd関数を実行(こっちは2秒待たないのでせわしない)
96時間はまったこと
NCMBUser user = NCMBUser.CurrentUser; string userName = user.UserName; NCMBACL acl = new NCMBACL ();//今回のログは新規作成なのでnewでよい acl.SetWriteAccess (userName, true); acl.SetReadAccess (userName, true);
対訳してみました.
元のスクリプトは
using UnityEngine;
using System.Collections;
using UnityEngine.UI;//UIを使用するのに必要
using UnityEngine.SceneManagement;//シーン遷移をするのに必要
public class myQuest : MonoBehaviour {
[SerializeField, HeaderAttribute ("経由地の数")]
public int points;
//sound
[SerializeField, HeaderAttribute ("効果音をドロップ")]
public AudioClip getSound;
public AudioClip tickSE;
//default time
[SerializeField, HeaderAttribute ("カウントダウンの初期時間")]
public int gameTime;
[SerializeField, HeaderAttribute ("残時間のUItextをドロップ")]
public Text timeText;
[SerializeField, HeaderAttribute ("残りの経由地数表示UIをドロップ")]
public Text nokoriText;
[SerializeField, HeaderAttribute ("エンディングのシーン名を入力")]
public string endSceneName;
//audio source get from this script attached
AudioSource myaudio;
// Use this for initialization
void Start () {
myaudio = GetComponent<AudioSource>();
timeText.text = "残り時間" + gameTime.ToString () + "秒";
nokoriText.text = "のこり" + points.ToString () + "個";
//start after nSec
Invoke("timeCount", 3.5f);
}
void Update () {
}
//if hit destroy obj
void RedirectedOnTriggerEnter(Collider mycollider) {
//Debug.Log (mycollider.gameObject.tag);
if (mycollider.gameObject.tag == "pointObj") {
points--;
nokoriText.text = "のこり" + points.ToString () + "個";
myaudio.PlayOneShot (getSound, 0.7F);
Destroy (mycollider.gameObject);
if (points < 1) {
//go end
StopCoroutine("loop");
Invoke("goEnd", 2f);
}
}
}
void timeCount(){
StartCoroutine("loop");
}
対訳はこちら(画像:クリックで拡大)
(次へ)
よくつかう関数をいれとくのを作ります
using UnityEngine;
using System.Collections;
namespace globalManager{//名前空間
public class myManager : MonoBehaviour {//クラス名はmyManager
public static void mytest2(){
Debug.Log ("test");
}
public static void mytest3(int cat){
Debug.Log (cat);
}
}
}
このnamespaseでusingすると呼び出せます
using UnityEngine;
using System.Collections;
using globalManager;//必要
public class slaveScript : MonoBehaviour {
void Start () {
myManager.mytest2 ();
myManager.mytest3 (5);
}
}
これで,コンソールには
「test」「5」と表示されます