Quantcast
Channel: Questions in topic: "enemy"
Viewing all articles
Browse latest Browse all 1488

Enemy bounce from screen edges

$
0
0
I want my enemy to bounce off from the edges of the screen like in many video games. I have achieved this however, **there is one problem. the enemy gets stuck on the corners** since it bounces from the right corner to the left corner and to the right corner, etc. how can I solve an issue like this? This is the way I do it, It's a 2D top-down game. Vector2 screenPosition = Camera.main.WorldToScreenPoint(transform.position); if ((screenPosition.y > Screen.height) || (screenPosition.y < 0f) || (screenPosition.x > Screen.width) || (screenPosition.x < 0f)) { screenPosition.x = Mathf.Clamp(screenPosition.x, 0f, Screen.width); screenPosition.y = Mathf.Clamp(screenPosition.y, 0f, Screen.height); Vector3 newWorldPosition = Camera.main.ScreenToWorldPoint(screenPosition); transform.position = new Vector2(newWorldPosition.x, newWorldPosition.y); if (transform.position.x >= 8f || transform.position.x <= -8f) rg2d.velocity = new Vector2(rg2d.velocity.x * Random.Range(-1f, -0.8f), rg2d.velocity.y); else rg2d.velocity = new Vector2(rg2d.velocity.x, rg2d.velocity.y * Random.Range(-1f, -0.8f)); } I am open to any suggestions.

Viewing all articles
Browse latest Browse all 1488

Trending Articles



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