|
|
- using UnityEngine;
- using System.Collections;
-
- public class PlayerControler : MonoBehaviour {
-
-
- public Animator animator;
- // Use this for initialization
- void Start () {
- }
-
- public float speed;
- public Vector2 jumpVector;
- public int health = 0;
- private int displayedHealth = 0;
- private bool updateHealth = false;
- private float curDirection = -1;
- public GameObject bullet;
- public GameObject heart;
- bool canJump = true;
- public GameObject newConfetti;
-
-
-
- void Update() {
- Vector2 velo = rigidbody2D.velocity;
- velo.x = Input.GetAxis ("Horizontal_P1") * speed;
- rigidbody2D.velocity = velo;
- animator.SetFloat("Velocity",velo.magnitude);
- animator.SetBool ("Fall", !canJump);
- if (curDirection != Input.GetAxisRaw ("Horizontal_P1"))
- applyPlayerDirection (Input.GetAxisRaw ("Horizontal_P1"));
-
- if (displayedHealth != health) {
- updateHealth = true;
- }
- if (updateHealth)
- displayHealth (health);
-
- if (health == 0)
- death();
-
-
- if (Input.GetKey (KeyCode.UpArrow)){
- if (canJump == true){
- rigidbody2D.velocity = jumpVector;
- canJump = false;
- }
- }
-
- //if (Input.GetKey (KeyCode.Space)){
- //shoot
- //GameObject bulletGO = Instantiate (bullet) as GameObject;
- //bulletGO.transform.position = transform.position;
- //}
- }
-
- private void displayHealth(int health){
- GameObject[] hearts = GameObject.FindGameObjectsWithTag("heartUI2");
- foreach (GameObject desHeart in hearts)
- GameObject.Destroy (desHeart);
-
- for (int i=1; i<= health; i++) {
- GameObject heartCanister = Instantiate (heart) as GameObject;
- Vector3 heartPos = new Vector3 (1-(i * 0.033f), 0.95f, 0);
- heartCanister.transform.position = heartPos;
- }
- displayedHealth = health;
- updateHealth = false;
- }
-
- private void applyPlayerDirection(float moveHorizontal)
- {
- if (moveHorizontal != 0)
- {
- transform.Rotate(0,180,0);
- curDirection = moveHorizontal;
- }
- }
-
- private void Confettishoot(Vector3 target,float size){
- Debug.Log ("Creating Confetti");
-
- target.y += 1.5f;
- for (int i = 0; i <size; i++) {
- Instantiate (newConfetti, target, transform.rotation);
- }
- }
-
- private void death(){
- if (health == 0) {
- Vector3 spawnPos = new Vector3 (Random.Range (-20.0f, 20.0f), 15.0f, 0);
- health = 3;
- transform.position = spawnPos;
- rigidbody2D.velocity = Vector2.zero;
- }
- }
-
- void OnCollisionEnter2D(Collision2D col){
- if (col.collider.tag == "ground")
- canJump = true;
- else if (col.collider.tag == "Player") {
- canJump = true;
- if(transform.position.y>col.transform.position.y){
- col.gameObject.GetComponent<player2_controls>().health --;
- Confettishoot(col.gameObject.transform.position,20.0f);
- //health --;
- rigidbody2D.velocity = jumpVector;
- canJump = false;
- }
-
- }
- }
-
- }
|