private void FixedUpdate() { bool wasGrounded = m_Grounded; m_Grounded = false; // The player is grounded if a circlecast to the groundcheck position hits anything designated as ground // This can be done using layers instead but Sample Assets will not overwrite your project settings. Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround); for (int i = 0; i < colliders.Length; i++) { if (colliders[i].gameObject != gameObject) { if (!wasGrounded) { SFXController.PlayClip(SFXClipName.JUMP); } m_Grounded = true; } } m_Anim.SetBool("Ground", m_Grounded); // Set the vertical animation m_Anim.SetFloat("vSpeed", m_Rigidbody2D.velocity.y); }
public void Move(float move, bool crouch, bool jump) { if (m_Paused) { move = 0.0f; crouch = false; jump = false; } // If crouching, check to see if the character can stand up if (!crouch && m_Anim.GetBool("Crouch")) { // If the character has a ceiling preventing them from standing up, keep them crouching if (Physics2D.OverlapCircle(m_CeilingCheck.position, k_CeilingRadius, m_WhatIsGround)) { crouch = true; } } // Set whether or not the character is crouching in the animator m_Anim.SetBool("Crouch", crouch); //only control the player if grounded or airControl is turned on if (m_Grounded || m_AirControl) { // Reduce the speed if crouching by the crouchSpeed multiplier move = (crouch ? move * m_CrouchSpeed : move); // The Speed animator parameter is set to the absolute value of the horizontal input. m_Anim.SetFloat("Speed", Mathf.Abs(move)); // Move the character m_Rigidbody2D.velocity = new Vector2(move * m_MaxSpeed * speedFactor, m_Rigidbody2D.velocity.y); // If the input is moving the player right and the player is facing left... if (move > 0 && !m_FacingRight) { // ... flip the player. Flip(); } // Otherwise if the input is moving the player left and the player is facing right... else if (move < 0 && m_FacingRight) { // ... flip the player. Flip(); } } // If the player should jump... if (m_Grounded && jump && m_Anim.GetBool("Ground")) { // Add a vertical force to the player. m_Grounded = false; m_Anim.SetTrigger("Jump"); m_Anim.SetBool("Ground", false); m_Rigidbody2D.AddForce(new Vector2(0f, m_JumpForce)); SFXController.PlayClip(SFXClipName.JUMP); } m_Walking = m_Grounded && Math.Abs(move) > 0.05f; }
void OnTriggerEnter2D(Collider2D collider2D) { if (collider2D.gameObject.tag == enemyTag) { SFXController.PlayClip(SFXClipName.SPLASH); Creature c = collider2D.gameObject.GetComponent <Creature>(); c.Hit(damage, force * Vector2.up); } }
void BlowUp(Vector2 position) { blownUp = true; sprite.sprite = explosionSprite; trailSystem.Stop(); blastSystem.Play(); SFXController.PlayClip(SFXClipName.SHOOT); this.transform.position = position; Invoke("Kill", 0.5f); }
void Fire() { if (shooting) { return; } shooting = true; m_Animator.SetBool("Shooting", true); beamObject.Shoot(new Vector2(m_Character.m_FacingRight ? 1.0f : -1.0f, 0.0f)); SFXController.PlayClip(SFXClipName.SHOOT); beamObject = null; Invoke("ResetGun", 0.25f); }
private void OnCollisionEnter(Collision other) { print("I collided with" + other.gameObject.name); health -= 1; SFXController.PlayClip(sfx_SoundEffect); PlayerPrefs.SetInt("Health", health); if (other.gameObject.tag == "Enemy") { other.gameObject.SendMessage("Damage", 3); } //other approach //other.gameObject.GetComponent<SecondCube>().Damage(3); }
public void OnDying() { SFXController.PlayClip(SFXClipName.PLAYERHIT); }