コード例 #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("collision");
        SimpleMov player = collision.gameObject.GetComponent <SimpleMov>();

        if (player != null)
        {
            Debug.Log("col with player");
            if (health)
            {
                if (player.CheckMaxLive())
                {
                    player.GetLive();
                    Destroy(this.gameObject);
                    AudioManager.GetInstance().Play("Health_pickup");
                }
            }

            if (ammo)
            {
                if (player.CheckBullets())
                {
                    Debug.Log("ammo");

                    player.GetAmmo();
                    Destroy(this.gameObject);
                    AudioManager.GetInstance().Play("Ammo_pickup");
                }
            }
        }
    }
コード例 #2
0
    void FixedUpdate()
    {
        Vector3 dir = (target.transform.position - transform.position).normalized;

        lr.SetPosition(0, transform.position);
        lr.SetPosition(1, target.transform.position);
        RaycastHit2D hit = Physics2D.Raycast(transform.position, dir, layerObj);

        if (lastDamage + velocityDamage < Time.timeSinceLevelLoad)
        {
            if (hit != false)
            {
                SimpleMov player = hit.collider.gameObject.GetComponent <SimpleMov>();
                if (player != null)
                {
                    player.TakeDamage();
                    lastDamage = Time.timeSinceLevelLoad;
                }
            }
        }

        Debug.DrawLine(transform.position, hit.point, Color.red);



        // Debug.DrawLine(transform.position, transform.position + dir * 10, Color.red, Mathf.Infinity);
    }
コード例 #3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        SimpleMov player = collision.gameObject.GetComponent <SimpleMov>();

        if (player != null)
        {
            player.TakeDamage();
        }
    }