- Home /
Question by
curleyjohnson · May 28, 2016 at 05:17 AM ·
damagedisablecontrols
How to disable collision2D damage when I am not attacking?
I'm using the following scripts to attack my opponent and take health. If I come into contact with the other player, The player loses health; whether I'm attacking or not. How do I stop the player from taking health when he is not attacking?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameControlScript : MonoBehaviour
{
public int mePlayerHealth=100;
public int meKickDamage=5;
public int meFistStrikeDamage=4;
public int meSnakeStrikeDamage=3;
public int me2PlayerHealth=100;
public int me2KickDamage=5;
public int me2FistStrikeDamage=4;
public int me2SnakeStrikeDamage=3;
public Scrollbar LeftHealthBar;
public Scrollbar RightHealthBar;
//is the game still going?
public static bool isDead = false;
// Use this for initialization
void Start ()
{
print (mePlayerHealth);
print (me2PlayerHealth);
}
public void meTakeDamage (Collision2D coll)
{
if (coll.gameObject.tag == "me2Kick") {
mePlayerHealth -= meKickDamage;
print ("You kicked me " + mePlayerHealth);
LeftHealthBar.size -= .05f;
} else if (coll.gameObject.tag == "me2Snake") {
mePlayerHealth -= meSnakeStrikeDamage;
print ("Your snake hurts me " + mePlayerHealth);
LeftHealthBar.size -= .03f;
} else if (coll.gameObject.tag == "me2Fist") {
mePlayerHealth -= meFistStrikeDamage;
print ("Your fist is hard " + mePlayerHealth);
LeftHealthBar.size -= .04f;
}
}
public void me2TakeDamage (Collision2D coll)
{
if(coll.gameObject.tag == "meKick")
{
me2PlayerHealth -= me2KickDamage;
print ("You kicked me2 " + me2PlayerHealth);
RightHealthBar.size -= .05f;
}
else if(coll.gameObject.tag == "meSnake")
{
me2PlayerHealth -= me2SnakeStrikeDamage;
print ("Your snake hurts me2 " + me2PlayerHealth);
RightHealthBar.size -= .03f;
}
else if(coll.gameObject.tag == "meFist")
{
me2PlayerHealth -= me2FistStrikeDamage;
print ("Your fist is hard 2 " + me2PlayerHealth);
RightHealthBar.size -= .04f;
}
}
void Update()
{
if (me2PlayerHealth <= 0)
{
isDead = true;
Debug.Log ("You have defeated Me2");
}
if (mePlayerHealth <= 0)
{
isDead = true;
Debug.Log ("You have defeated Me");
}
}
}
Comment
Your answer
Follow this Question
Related Questions
How can I disable controls? 1 Answer
TextField/User Controls Conflicts 2 Answers
Recommended way to delay controls momentarily? 2 Answers
Bullet scripting , i need help 1 Answer
Question about models ... 1 Answer