コード例 #1
0
    private void Dash()
    {
        // Dash Right
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            dashFeedback.Invoke(gameObject);
            velocity     += Vector3.right * dashStrength * Time.timeScale;
            cooldownTimer = 0.0f;
        }

        // Dash Left
        else if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            dashFeedback.Invoke(gameObject);
            velocity     += Vector3.left * dashStrength * Time.timeScale;
            cooldownTimer = 0.0f;
        }

        // Dash Up
        else if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            dashFeedback.Invoke(gameObject);
            velocity     += Vector3.forward * dashStrength * Time.timeScale;
            cooldownTimer = 0.0f;
        }

        // Dash Down
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            dashFeedback.Invoke(gameObject);
            velocity     += Vector3.back * dashStrength * Time.timeScale;
            cooldownTimer = 0.0f;
        }
    }
コード例 #2
0
    private IEnumerator BlockSpawner(int amount)
    {
        for (int i = 0; i < amount; i++)
        {
            int        r   = Random.Range(0, blockPrefabs.Length);
            Quaternion rot = Random.rotation;
            rot.eulerAngles = new Vector3(0.0f, 0.0f, rot.eulerAngles.z);

            GameObject go = Instantiate(blockPrefabs[r], new Vector3(Random.Range(-6.0f, 6.0f), -11.0f, 0.0f), rot);
            go.transform.localScale = blockPrefabs[r].transform.localScale;
            go.GetComponent <Rigidbody>().velocity = new Vector3(0.0f, -10.0f, 0.0f);
            activeBlocks.Add(go);
            spawnJuice.Invoke(go);

            AkSoundEngine.PostEvent("Shadow_attack", go);
            yield return(new WaitForSeconds(0.5f));
        }

        yield return(null);
    }