コード例 #1
0
 // Update is called once per frame
 void Update()
 {
     if (powerupCharges > 0)
     {
         powerupIcon.SetBool("Powerup", true);
     }
     else
     {
         powerupIcon.SetBool("Powerup", false);
     }
     if (Input.GetKeyDown(KeyCode.Q) && powerupCharges > 0)
     {
         //Use powerup
         audioSource.PlayOneShot(useClip);
         powerupCharges--;
         ScrambleGhosts();
         stormcloud = Instantiate(stormcloudref, new Vector3(scr_utilities.screenWidth + (2 * scr_utilities.padding), 0, 1), Quaternion.identity).GetComponent <scr_stormcloud>();
         powerOn    = true;
         StartCoroutine(Timer(powerupTime));
         stormcloud.speed = scr_cloud.GetSpeed();
     }
     if (powerOn)
     {
         for (int i = 0; i < ghosts.Count; ++i)
         {
             ghosts[i].acc.x += Random.Range(-0.03f, 0.03f);
             ghosts[i].acc.y += Random.Range(-0.03f, 0.03f);
             if (ghosts[i].pos.x <scr_utilities.GetEdge(edgeId.Left, false) ||
                                  ghosts[i].pos.x> scr_utilities.GetEdge(edgeId.Right, false))
             {
                 ghosts[i].acc.x *= -1;
             }
             if (ghosts[i].pos.y <scr_utilities.GetEdge(edgeId.Bottom, false) ||
                                  ghosts[i].pos.y> scr_utilities.GetEdge(edgeId.Top, false))
             {
                 ghosts[i].acc.y *= -1;
             }
             ghosts[i].acc *= 0.9f;
             ghosts[i].pos += ghosts[i].acc;
         }
     }
 }
コード例 #2
0
    IEnumerator CheckpointWaiting()
    {
        scr_stormcloud transition = Instantiate(transitionEffect, new Vector3(scr_utilities.screenWidth + (2 * scr_utilities.padding), 0, 1), Quaternion.identity).GetComponent <scr_stormcloud>();

        scr_cloudcontroller.instance.SetIslandCount(0);
        scr_cloudcontroller.instance.SetCloudCover(0);
        transition.speed = scr_cloud.GetSpeed();
        DontDestroyOnLoad(transition);
        yield return(new WaitForSeconds(5));

        checkpoint.SetActive(true);
        waitingAtCheckpoint = true;
        while (waitingAtCheckpoint)
        {
            yield return(null);
        }
        checkpoint.SetActive(false);
        transition.speed = scr_cloud.GetSpeed();
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }