2014年9月28日日曜日

スタートボタンを押してまたスタートに戻ってきた時の対処 本編その2

今回は、
 「発射したのに、威力が弱すぎてスタート地点に戻ってくる」
を解決しようと思っています。

戻ってくると、必ず下の壁にぶつかる。

















発射時のスピードが遅い+防御突き抜けて来た場合は、
一回リセット+スタートしなければいけない。
でもこれ、めんどくさくない?
やっぱり、戻ってきたらまたスタートを押したくなるよね。
今回はそれを解決しました。
















この四角いオブジェクト。
これに、C#でこういうスクリプトを書く























using UnityEngine;
using System.Collections;

public class BackCoping : MonoBehaviour {

    //衝突時の処理
    public void OnCollisionEnter(Collision collision)
    {
     
        //ぶつかったものの指定(ボールかどうか)
        if (collision.gameObject == GameObject.Find ("Blue Ball"))
        {
            GameObject resetComp;
            GameObject startComp;
            //ボールが当たった時のみ以下の処理を発動させる
            //ボールが当たった時はスタートボタンが押される前の状態に戻される
            //スタートが押される前の状態とは
            //「スタートボタン押された」フラグがfalseになっていること
            //「リセットボタン押された」フラグがtrueになっていること
            //これはスタートボタンを押すと逆転する
            //なので戻ってきた時のためにフラグを戻す必要がある

            startComp = GameObject.Find ("Start Button");
            resetComp = GameObject.Find ("Reser Button");
            startComp.GetComponent<ballshoot>().ButtonFlag = false;
            resetComp.GetComponent<Reset>().ButtonFlag = true;


        }

    }
}
こんな感じ。
このスクリプトは、
いろいろ呼び出してるから、
「Blue Ball」
とか
「Start Button」
とか
「Reser Button」
(スペルミスしてます(直しません元がこれなので(Resetと書きたかったんだよねこれ)))
とか出てくるけど、
実際のところボールはブルーじゃない。
銀色のパチンコ球みたいなやつです。


次は、
「コリントの上板にキレイに木目のテクスチャを貼り付ける」
ということをやります。

0 件のコメント:

コメントを投稿