Advertisement
JGroxz

Roll-a-ball 2025

Apr 12th, 2025 (edited)
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.83 KB | None | 0 0
  1. // Roll-a-ball workshop
  2.  
  3.  
  4.  
  5. // PlayerController
  6.  
  7. using UnityEngine;
  8.  
  9. public class PlayerController : MonoBehaviour
  10. {
  11.     public Rigidbody rb;
  12.     public float forceMultiplier = 5f;
  13.     public float jumpForce = 100f;
  14.  
  15.     // Update is called once per frame
  16.     void Update()
  17.     {
  18.         float horizontalInput = Input.GetAxis("Horizontal");
  19.         float verticalInput = Input.GetAxis("Vertical");
  20.  
  21.         Vector3 direction = Vector3.right * horizontalInput + Vector3.forward * verticalInput;
  22.         Vector3 force = direction * forceMultiplier;
  23.  
  24.         bool jumpInput = Input.GetKeyDown(KeyCode.Space);
  25.         if (jumpInput)
  26.         {
  27.             force = force + Vector3.up * jumpForce;
  28.         }
  29.        
  30.         rb.AddForce(force);
  31.     }
  32. }
  33.  
  34.  
  35.  
  36. // CoinCollector
  37.  
  38. using UnityEngine;
  39.  
  40. public class CoinCollector : MonoBehaviour
  41. {
  42.     public int coinsCollected = 0;
  43.    
  44.     void OnTriggerEnter(Collider other)
  45.     {
  46.         other.gameObject.SetActive(false);
  47.         coinsCollected += 1;
  48.     }
  49. }
  50.  
  51.  
  52.  
  53. // Spinner
  54.  
  55. using UnityEngine;
  56.  
  57. public class Spinner : MonoBehaviour
  58. {
  59.     public Transform transform;
  60.     public float speed = 90f;
  61.    
  62.     void Update()
  63.     {
  64.         Vector3 rotation = new Vector3(0f, 0f, speed * Time.deltaTime);
  65.         transform.Rotate(rotation);
  66.     }
  67. }
  68.  
  69.  
  70.  
  71. // GameController
  72.  
  73. using TMPro;
  74. using UnityEngine;
  75.  
  76. public class GameController : MonoBehaviour
  77. {
  78.     public CoinCollector collector;
  79.     public int winningScore = 5;
  80.  
  81.     public TextMeshProUGUI scoreText;
  82.     public TextMeshProUGUI completionText;
  83.    
  84.     void Update()
  85.     {
  86.         scoreText.text = $"{collector.coinsCollected}/{winningScore} collected";
  87.  
  88.         bool gameCompleted = collector.coinsCollected >= winningScore;
  89.         completionText.gameObject.SetActive(gameCompleted);  
  90.     }
  91. }
  92.  
  93.  
  94.  
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement