aleksmc
Kilopat
- Katılım
- 1 Şubat 2018
- Mesajlar
- 1.893
- Makaleler
- 3
- Çözümler
- 6
C#, Unity kodu.
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TargetScript : MonoBehaviour
{
Rigidbody TargetRigidBody;
GameManager gameManager;
public ParticleSystem particle;
readonly float minSpeed = 12f;
readonly float maxSpeed = 16f;
readonly float Torque = 2f;
readonly float xRange = 4;
readonly float ySpawnPosition = -1;
public int scoreValue;
void Start()
{
GetRigidBodyAndAddForces();
gameManager = GameObject.Find("Game Manager").GetComponent<GameManager>();
}
Vector3 RandomForce()
{
return Vector3.up * Random.Range(minSpeed, maxSpeed);
}
Vector3 RandomSpawnPosition()
{
return new Vector3(Random.Range(-xRange, xRange), ySpawnPosition, 0);
}
float RandomTorque()
{
return Random.Range(-Torque, Torque);
}
void GetRigidBodyAndAddForces()
{
TargetRigidBody = GetComponent<Rigidbody>();
TargetRigidBody.AddForce(RandomForce(), ForceMode.Impulse);
TargetRigidBody.AddTorque(RandomTorque(), RandomTorque(), RandomTorque(), ForceMode.Impulse);
transform.position = RandomSpawnPosition();
}
private void OnMouseDown()
{
if (gameManager.gameOverBool == false)
{
Destroy(gameObject);
gameManager.UpdateScore(scoreValue);
Instantiate(particle, transform.position, particle.transform.rotation);
}
if (gameObject.CompareTag("Bad"))
{
gameManager.GameOver();
}
}
private void OnTriggerEnter(Collider other)
{
Destroy(gameObject);
gameManager.UpdateScore(-10);
if (!gameObject.CompareTag("Bad"))
{
gameManager.GameOver();
}
}
private void Update()
{
if (gameManager.gameOverBool)
{
Destroy(gameObject);
}
}
}