0% found this document useful (0 votes)
40 views4 pages

Scriptul "Carcontroller - CS" Si Descrierea Liniilor de Cod Folosite

The document describes several scripts used to control a car, camera, options menu, and finish line in a Unity game. The CarController script controls the car's movement and rotation based on key presses using a Rigidbody2D component. The CameraController script positions the camera behind the car by setting its position to the car's plus an offset. The Options script handles pausing/resuming the game and restarting levels using buttons. It also displays the timer. The Death script reloads the level if the car falls off the track by triggering an invisible collider. The FinishLine script calls the Options script to pause and mark completion when the car reaches the finish line trigger.

Uploaded by

Ionut Stroe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views4 pages

Scriptul "Carcontroller - CS" Si Descrierea Liniilor de Cod Folosite

The document describes several scripts used to control a car, camera, options menu, and finish line in a Unity game. The CarController script controls the car's movement and rotation based on key presses using a Rigidbody2D component. The CameraController script positions the camera behind the car by setting its position to the car's plus an offset. The Options script handles pausing/resuming the game and restarting levels using buttons. It also displays the timer. The Death script reloads the level if the car falls off the track by triggering an invisible collider. The FinishLine script calls the Options script to pause and mark completion when the car reaches the finish line trigger.

Uploaded by

Ionut Stroe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 4

Scriptul "CarController.

cs" si descrierea liniilor de cod folosite:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CarController : MonoBehaviour {

// Declararea publica a unei componente Rigidbody2D aferente masinutei jucatorului.


public Rigidbody2D rb;

// Initializarea privata a variabilelor ajutatoare.


bool move = false;
bool isGrounded = false;
int direction = 1;

// Declararea publica a vitezelor de miscare, respectiv de rotatie.


public float speed = 25f;
public float rotationSpeed = 7f;

// Verificarea apasarii tastelor necesare miscarii sau rotirii masinutei.


void Update ()
{
if(Input.GetKey(KeyCode.D))
{
move = true;
direction = 1;
}
else if (Input.GetKey(KeyCode.A))
{
move = true;
direction = -1;
}

else
{
move = false;
}

// Functia de miscare si de rotire a masinutei.


private void FixedUpdate()
{
if(move==true)
{
if (isGrounded)
{
rb.AddForce(direction * transform.right * speed * Time.fixedDeltaTime * 100f,
ForceMode2D.Force);
}
else
{
rb.AddTorque(-direction * rotationSpeed * Time.fixedDeltaTime * 100f);
}
}
}
// Functiile de verificare a coliziunii cu suprafatele de miscare .
private void OnCollisionEnter2D()
{
isGrounded = true;
}

private void OnCollisionExit2D()


{
isGrounded = false;
}
}

Scriptul "CameraController.cs" si descrierea liniilor de cod folosite:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour {

// Componenta Transform a masinutei, preluata printr-o declarare publica.


public Transform target;

// Vectorul cu 3 dimensiuni declarat public ce ajuta la gasirea unei valori potrivite privind
pozitia camerei.
public Vector3 offset;

// Functia de miscare a camerei astfel incat aceasta sa urmareasca masinuta .


private void LateUpdate()
{
Vector3 newPos = target.position + offset;
newPos.z = transform.position.z;
transform.position = newPos;
}
}
Scriptul "Options.cs" si descrierea liniilor de cod folosite:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using System;

public class Options : MonoBehaviour {

// Declararea variabilelor publice.


public GameObject pauseMenu;
public Text timerText;

// Declararea valorilor ajutatoare.


private bool isGamePaused = false;
private bool isFinished = false;

private void Start()


{
// Ascunderea cursorului la pornirea jocului.
Cursor.visible = false;

// Initializarea valorilor ajutatoare.


isGamePaused = false;
isFinished = false;
Time.timeScale = 1f;
}
void Update () {

// Cronometrul.
TimeSpan timeSpan = TimeSpan.FromSeconds(Time.timeSinceLevelLoad);
timerText.text = string.Format("{0:D2}:{1:D2}:{2:D3}", timeSpan.Minutes,
timeSpan.Seconds, timeSpan.Milliseconds);

// Restart.
if (Input.GetKeyDown(KeyCode.R))
{
if (isGamePaused == true)
if(isFinished==false)
Resume();
else
{
isFinished = false;
Resume();
}

SceneManager.LoadScene("Main");
}

// Pauza/reluare.
if(Input.GetKeyDown(KeyCode.Space))
{
if(isGamePaused)
{
Resume();
}
else
{
Pause();
}

// Exit
if(Input.GetKeyDown(KeyCode.Escape))
{
Application.Quit();
}
}

// Functia propriu-zisa de pauza.


public void Pause()
{
pauseMenu.SetActive(true);
Time.timeScale = 0f;
isGamePaused = true;
}

// Functia propriu-zisa de reluare.


void Resume()
{
if (isFinished == false)
{
pauseMenu.SetActive(false);
Time.timeScale = 1f;
isGamePaused = false;
}
}

// Functia apelata in "FinishLineScript.cs" la contactul jucatorului cu triggerul .


public void Finish()
{
pauseMenu.SetActive(true);
Time.timeScale = 0f;
isGamePaused = true;
isFinished = true;
}
}

Scriptul "Death.cs" si descrierea liniilor de cod folosite:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Death : MonoBehaviour {


// Verificarea coliziunii masinutei cu un trigger invizibil ce determina daca masinuta a
cazut de pe traseu.
private void OnTriggerEnter2D(Collider2D collision)
{
// Resetarea nivelului in cazul in care jucatorul a cazut de pe traseu.
SceneManager.LoadScene("Main");

Scriptul "FinishLine.cs" si descrierea liniilor de cod folosite:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FinishLineScript : MonoBehaviour {

// Declararea obiectului ce va contine scriptul "Options.cs".


private Options opts;

void Start()
{
// Cautarea scriptului "Options.cs"
opts = FindObjectOfType<Options>();
}
// Apelarea functiei Finish din scriptul "Options.cs" la contactul jucatorului cu triggerul .
private void OnTriggerEnter2D(Collider2D collision)
{
opts.Finish();
}
}

You might also like