Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class Plus_Behaviour : MonoBehaviour {
- public GameObject[] pluses;
- public float speed;
- public int pluses_amount;
- int plus_number;
- Vector2 relations;
- float distance;
- public float gravityPower;
- float randomizer;
- int int_randomizer;
- // Use this for initialization
- void Start ()
- {
- pluses = GameObject.FindGameObjectsWithTag("Plus");
- pluses_amount = pluses.Length;
- plus_number = pluses_amount - 1;
- }
- // Update is called once per frame
- void FixedUpdate ()
- {
- randomizer = Random.Range(0, pluses.Length);
- int_randomizer = (int)Mathf.Round(randomizer);
- while (plus_number >= 0)
- {
- Vector2 relations = (pluses[plus_number].GetComponent<Rigidbody2D>().position - pluses[int_randomizer].GetComponent<Rigidbody2D>().position);
- distance = Vector2.Distance(pluses[plus_number].GetComponent<Rigidbody2D>().position, pluses[int_randomizer].GetComponent<Rigidbody2D>().position);
- if (distance == 0) { gravityPower = 0; } else { gravityPower = 1 / Mathf.Pow(distance, 2); }
- pluses[plus_number].GetComponent<Rigidbody2D>().AddForce(relations * -gravityPower * speed, ForceMode2D.Force);
- plus_number--;
- }
- if (plus_number == -1)
- {
- plus_number = pluses_amount - 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement