- Home /
This post has been wikified, any user with enough reputation can edit it.
Question by
heyitsmark101 · Mar 27, 2015 at 04:38 PM ·
simplesnake
2 Player Snake Game Not Working
Hey, I created a simple snake game a while ago, it works, but when I import two players(different controls and prefabs) they can only die by touching their own line and not the enemies. why is that, the code shows no errors. using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Linq;
public class Snake : MonoBehaviour {
Vector2 dir = Vector2.right;
public Sprite rightdoge;
public Sprite leftdoge;
bool ate = false;
List<Transform> tail = new List<Transform>();
public GameObject tailPrefab;
void Start () {
InvokeRepeating("Move", .06f, .06f);
}
void Update() {
if (Input.GetKey (KeyCode.RightArrow)) {
dir = Vector2.right;
GetComponent<SpriteRenderer> ().sprite = rightdoge;
} else if (Input.GetKey (KeyCode.DownArrow))
dir = -Vector2.up;
else if (Input.GetKey (KeyCode.LeftArrow)) {
dir = -Vector2.right;
GetComponent<SpriteRenderer> ().sprite = leftdoge;
}
else if (Input.GetKey(KeyCode.UpArrow))
dir = Vector2.up;
}
void OnTriggerEnter2D(Collider2D coll) {
if (coll.name.StartsWith ("foodPrefab")) {
ate = true;
Destroy (coll.gameObject);
} else {
}
if (coll.name.StartsWith ("border")) {
Destroy (this.gameObject);
}
if (coll.name.StartsWith ("tail")) {
Destroy (this.gameObject);
}
if (coll.name.StartsWith ("secondtail")) {
Destroy (this.gameObject);
}
}
void Move() {
Vector2 v = transform.position;
transform.Translate(dir);
if (ate) {
GameObject g =(GameObject)Instantiate(tailPrefab,
v,
Quaternion.identity);
tail.Insert(0, g.transform);
ate = false;
}
else if (tail.Count > 0) {
tail.Last().position = v;
tail.Insert(0, tail.Last());
tail.RemoveAt(tail.Count-1);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Weird behavior with types in Unity JScript 2 Answers
Display Object Positions in Gui Box 2 Answers
SIMPLE player HP 1 Answer
How To Check If X Rotation Is Between Two Numbers?? 1 Answer
Unity simple water - Creating waves. 1 Answer