Beispiel #1
0
 private void StartLandingAnimation(RoadJoint rj)
 {
     ToggleLandingAnimation();
     if (rj)
     {
         Invoke("ToggleLandingAnimation", rj.landingWaitTime);
         if (rj.landingEffect)
         {
             (Instantiate(rj.landingEffect) as GameObject).transform.position = transform.position;
         }
         if (rj.landingCamera)
         {
             Instantiate(rj.landingCamera);
         }
     }
 }
Beispiel #2
0
 // Use this for initialization
 void Start()
 {
     if (debugMode)
     {
         Player p = FindObjectOfType <Player>();
         if (p)
         {
             RoadJoint rj = p.roadJoint;
             for (int i = 0; i < orderNum; i++)
             {
                 rj = rj.nextJoint.GetComponent <RoadJoint>();
             }
             p.transform.position = rj.transform.position + Vector3.up * 20;
         }
     }
 }
Beispiel #3
0
    private void OnTriggerEnter(Collider collider)
    {
        try {
            SpecialFloor sf = collider.gameObject.GetComponent <SpecialFloor>();
            sf.Execute(this);
            return;
        } catch {
            //print("not special floor");
        }
        try {
            RoadJoint rj = collider.gameObject.GetComponent <RoadJoint>();
            if (rj.landing)
            {
                StartLandingAnimation(rj);
            }
            roadJoint = rj.nextJoint.GetComponent <RoadJoint>();
            UpdateRoadJointIs();
            if (generateJumpEffect)
            {
                Destroy(generateJumpEffect.gameObject);
                generateJumpEffect = null;
            }
            if (generateCircle)
            {
                // ステータスが良ければエフェクト生成
                if (generateCircle.state > 0)
                {
                }
                Destroy(generateCircle.gameObject);
                generateCircle = null;
            }
            if (roadJoint.nextJoint)
            {
                if (roadJoint.nextJoint.name.Contains("Parabola") || roadJoint.nextJoint.name.Contains("Jump"))
                {
                    if (roadJoint.nextJoint.GetComponent <RoadJoint>().NotCircle == false)
                    {
                        generateCircle                = (Instantiate(circle) as GameObject).GetComponent <Circle>();
                        generateCircle.player         = gameObject;
                        generateCircle.targetPosition = roadJoint.transform.position.Clone();
                    }
                }
            }

            Physics.gravity = Vector3.down * 39.2f;
            if (roadJointIs["Wall"])
            {
                Physics.gravity = (Vector3.up * 1.5f + roadJoint.transform.up) / 2 * -39.2f;
                transform.LookAt(roadJoint.transform);
            }
            else if (roadJointIs["Parabola"])
            {
                //演出Jump
                Vector3 p  = new Vector3(0.0f, 0.0f, 0.0f);
                Vector3 p0 = new  Vector3(0.0f, 0.0f, 0.0f);
                Vector3 p1 = new  Vector3(0.0f, 0.0f, 0.0f);
                Vector3 p2 = new  Vector3(0.0f, 0.0f, 0.0f);
                Vector3 p3 = new  Vector3(0.0f, 0.0f, 0.0f);
                t = 0;
                rigidbody.velocity = new Vector3(0, 0, 0);
                //	p0 = roadJoint.prevJoint.transform.position;
                p0 = roadJoint.prevJoint.transform.position.Clone();
                p3 = roadJoint.transform.position.Clone();
                Vector3 dir = p3 - p0;
                p1       = p0 + dir * 0.2f;
                p2       = p0 + dir * 0.8f;
                p1.y     = p2.y = (p0.y > p3.y) ? p0.y + 30 : p3.y + 30;
                myBezier = new Bezier(p0, p1, p2, p3);

                //******************** サウンド処理(担当:野村) ********************
                SoundSpeaker SoundDevice = GetComponent <SoundSpeaker>();                                       //ダッシュ床オブジェクトに内包されているSoundSpeakerスクリプトを取得する
                SoundDevice.PlaySE((int)(CommonSound.SE_NAME.SE_JUMP), false);                                  //ダッシュ床用SEを再生する
            }
            if (roadJointIs["Wall"] || roadJointIs["Jump"] || roadJointIs["Parabola"])
            {
                rigidbody.velocity = Vector3.zero;
            }
            return;
        } catch {
            roadJoint = null;
            //print("not road joint");
        }
    }