/// <summary>
    /// 当たった時
    /// </summary>
    /// <param name="_col">Col.</param>
    void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D _col)
    {
        switch (_col.Collision2D.gameObject.tag)
        {
        case TagName.StageObject:

            //連続で音が鳴らないように
            if (Time.time - m_lastSoundPlayTime < m_soundIntervalMin)
            {
                return;
            }

            //速度を計算
            var mag = Mathf.Abs(m_jellySprite.CentralPoint.GameObject.GetComponent <Rigidbody2D>().velocity.y);
            if (mag < m_rangeSoundMag.MinValue)
            {
                return;
            }

            //サウンドの大きさを計算
            mag = Mathf.Clamp(mag, m_rangeSoundMag.MinValue, m_rangeSoundMag.MaxValue);
            var vol = (mag - m_rangeSoundMag.MinValue) / (m_rangeSoundMag.MaxValue - m_rangeSoundMag.MinValue);

            //SEを鳴らす
            SimpleSoundManager.Instance.PlaySE_2D(SoundNameSE.Puyo, vol);
            m_lastSoundPlayTime = Time.time;
            break;
        }
    }
Ejemplo n.º 2
0
 void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D collision)
 {
     if (collision.Collision2D.gameObject.tag == "Player" && playerManager.canScale)
     {
         playerManager.Scale(1);
         Destroy(gameObject);
     }
 }
Ejemplo n.º 3
0
 void OnJellyCollisionStay2D(JellySprite.JellyCollision2D collision)
 {
     if (collision.Collision2D.gameObject.CompareTag("Player"))
     {
         if (m_Character)
         {
             m_Character.isHurt++;
         }
     }
 }
Ejemplo n.º 4
0
    /// <summary>
    /// 当たった時
    /// </summary>
    /// <param name="_col">Col.</param>
    void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D _col)
    {
        switch (_col.Collision2D.gameObject.tag)
        {
        case TagName.Enemy:

            var vec = centerObj.GetComponent <Rigidbody2D>().velocity;
            if (vec.magnitude < m_minHitVelocity)
            {
                return;
            }

            var enemy = _col.Collision2D.gameObject.GetComponent <Enemy>();
            var p     = _col.Collision2D.contacts[0].point;
            enemy.Hit(m_status.atk, p);
            break;

        case TagName.StageObject:

            //連続で音が鳴らないように
            if (Time.time - m_lastSoundPlayTime < m_soundIntervalMin)
            {
                return;
            }

            //速度を計算
            var mag = Mathf.Abs(centerObj.GetComponent <Rigidbody2D>().velocity.y);
            if (mag < m_rangeSoundMag.MinValue)
            {
                return;
            }

            //サウンドの大きさを計算
            mag = Mathf.Clamp(mag, m_rangeSoundMag.MinValue, m_rangeSoundMag.MaxValue);
            var vol = (mag - m_rangeSoundMag.MinValue) / (m_rangeSoundMag.MaxValue - m_rangeSoundMag.MinValue);

            //SEを鳴らす
            SimpleSoundManager.Instance.PlaySE_2D(SoundNameSE.Puyo, vol);
            m_lastSoundPlayTime = Time.time;
            break;
        }
    }
Ejemplo n.º 5
0
    void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D collision)
    {
        if (!collision.Collision2D.otherCollider.IsTouchingLayers(LayerMask.GetMask("Floor")))
        {
            return;
        }
        if (Time.time < stickAgainTime)
        {
            return;
        }

        Unstick(0f);

        if (!j.m_LockRotation)
        {
            j.LockRotation(true);
        }

        lastToTouch              = collision.ReferencePoint.GetComponent <Rigidbody2D>();
        lastToTouch.constraints |= RigidbodyConstraints2D.FreezePosition;   // stick
    }