(注意)
この連載は、ある程度ゲームを作ったことある人の
ためのものです。「アタッチ」とか「C#スクリプト
の作成」とか「カメラアングルの変更」とか、その
レベルの話は省略しています。よろしくお願いしま
す。
前回の続きでーす。
とりあえずどわーっと出るのは嫌なので、スクリプトを
変えていきます。安直にflagを作っておきます。
そして、ついでにScoreも作っちゃいましょう。
0で射出できる状態。
1は射出できない状態。
Blockが出てくると、flagを1にして
Fieldに落ちると、flagを0に戻します。
(Gene側のプログラム GameC)
//インスタンス用
public GameObject blk;
//スコア
public int Score = 0;
//フラグ
public int flag = 0;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.Space)&&flag==0)
{
//オブジェクトを生成する
Instantiate(blk, new Vector3(transform.position.x, transform.position.y - 1, transform.position.z), Quaternion.identity);
//フラグを立てて
flag = 1;
//スコアを加算する
Score += 1;
}
}
(Block側のプログラム BlockC)
//Gene格納用
GameObject GeneP;
//GameC格納用
GameC GC;
void Start()
{
//Geneを発見する
GeneP = GameObject.Find("Gene");
//スクリプトを取得する
GC = GeneP.GetComponent<GameC>();
}
void Update()
{
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag=="blocks") {
GC.flag = 0;
}
}
確かに、1個ずつにはなりますが。
2個目からは?あれ?出てこなくなりました。
続きは次回!
質問があればDMやらコメントをお願いします。
それではよきプログラミングライフを!
またね。