Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Plus_Behaviour : MonoBehaviour {
  5.  
  6. public GameObject[] pluses;
  7. public float speed;
  8. public int pluses_amount;
  9. int plus_number;
  10. Vector2 relations;
  11. float distance;
  12. public float gravityPower;
  13. float randomizer;
  14. int int_randomizer;
  15.  
  16.  
  17.  
  18. // Use this for initialization
  19. void Start ()
  20. {
  21. pluses = GameObject.FindGameObjectsWithTag("Plus");
  22. pluses_amount = pluses.Length;
  23. plus_number = pluses_amount - 1;
  24. }
  25.  
  26. // Update is called once per frame
  27. void FixedUpdate ()
  28. {
  29. randomizer = Random.Range(0, pluses.Length);
  30. int_randomizer = (int)Mathf.Round(randomizer);
  31.  
  32. while (plus_number >= 0)
  33. {
  34. Vector2 relations = (pluses[plus_number].GetComponent<Rigidbody2D>().position - pluses[int_randomizer].GetComponent<Rigidbody2D>().position);
  35. distance = Vector2.Distance(pluses[plus_number].GetComponent<Rigidbody2D>().position, pluses[int_randomizer].GetComponent<Rigidbody2D>().position);
  36. if (distance == 0) { gravityPower = 0; } else { gravityPower = 1 / Mathf.Pow(distance, 2); }
  37. pluses[plus_number].GetComponent<Rigidbody2D>().AddForce(relations * -gravityPower * speed, ForceMode2D.Force);
  38. plus_number--;
  39. }
  40.  
  41. if (plus_number == -1)
  42. {
  43. plus_number = pluses_amount - 1;
  44. }
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement