/// <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; } }
void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D collision) { if (collision.Collision2D.gameObject.tag == "Player" && playerManager.canScale) { playerManager.Scale(1); Destroy(gameObject); } }
void OnJellyCollisionStay2D(JellySprite.JellyCollision2D collision) { if (collision.Collision2D.gameObject.CompareTag("Player")) { if (m_Character) { m_Character.isHurt++; } } }
/// <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; } }
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 }