Quantcast
Channel: Questions in topic: "ios"
Viewing all articles
Browse latest Browse all 4709

Bullets sometimes flying through enemies in Unity2D

$
0
0
I'm making a simple unity 2d space shooter game for iPhone where the player has two virtual joysticks, one for movement and one for shooting. I noticed that when I shoot at an enemy while moving away from it above a certain speed the bullets fail to hit the enemy. I have rigidbody2d attached to both the bullet and the enemy. Both have colliders attached, the one on the bullet is a trigger. Here are my codes for the bullet: #pragma strict var EnemyBulletDelay:float; var BulletDamage:int; var Spark:GameObject; function Start () { //destroy bullet after delay Destroy(this.gameObject,1+EnemyBulletDelay); } function OnTriggerEnter2D(other:Collider2D){ //detect if enemy taking player bullet shots or player taking enemy bullet shots if ((other.gameObject.tag=="Enemy"&&gameObject.tag=="Bullet")||(other.gameObject.tag=="Player"&&gameObject.tag=="EnemyBullet")){ //target takes damage other.SendMessage("takeDamage",BulletDamage); //activates spark particles on hit if(Spark){ Instantiate(Spark,transform.position,transform.rotation); } //destroy bullet Destroy(this.gameObject); } } And the codes for enemy: #pragma strict var EnemyHealth:int; var GameManager:GameObject; var ScoreWorth:int; var Explosion:GameObject; function Start(){ GameManager=GameObject.Find("GameManager"); } function takeDamage(damage:int){ if (EnemyHealth!=0){ if(EnemyHealth-damage>0){ StartCoroutine("flashRed"); } EnemyHealth-=damage; if (EnemyHealth<=0){ EnemyHealth=0; DeathSequence(); } } } function flashRed(){ renderer.material.color=Color.red; yield WaitForSeconds(.1); renderer.material.color=Color.white; } function DeathSequence(){ SendMessage("Dead"); GameManager.SendMessage("AddScore",ScoreWorth); Instantiate(Explosion,transform.position,transform.rotation); Destroy(this.gameObject); } Please help!

Viewing all articles
Browse latest Browse all 4709

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>