Templevrun-2

mail@pastecode.io avatar
unknown
c_cpp
13 days ago
6.9 kB
1
Indexable
Never
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 10f;
    public float laneDistance = 4f; // Distance between lanes
    public float jumpForce = 7f;

    private Rigidbody rb;
    private bool isGrounded = true;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Update()
    {
        // Move forward constantly
        transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

        // Handle lane switching
        if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A))
        {
            if (transform.position.x > -laneDistance)
                transform.position = new Vector3(transform.position.x - laneDistance, transform.position.y, transform.position.z);
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D))
        {
            if (transform.position.x < laneDistance)
                transform.position = new Vector3(transform.position.x + laneDistance, transform.position.y, transform.position.z);
        }

        // Handle jumping
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
            isGrounded = false;
        }
    }

    void OnCollisionEnter(Collision collision)
    {
        // If the player touches the ground, they can jump again
        if (collision.gameObject.tag == "Ground")
        {
            isGrounded = true;
        }
    }
}
using UnityEngine;

public class ObstacleSpawner : MonoBehaviour
{
    public GameObject obstaclePrefab;
    public float spawnDistance = 20f;
    public float spawnInterval = 2f;

    private float lastSpawnTime = 0f;

    void Update()
    {
        if (Time.time - lastSpawnTime >= spawnInterval)
        {
            SpawnObstacle();
            lastSpawnTime = Time.time;
        }
    }

    void SpawnObstacle()
    {
        float randomX = Random.Range(-4f, 4f);
        Vector3 spawnPosition = new Vector3(randomX, 0.5f, transform.position.z + spawnDistance);
        Instantiate(obstaclePrefab, spawnPosition, Quaternion.identity);
    }
}
using UnityEngine;

public class EndlessTrack : MonoBehaviour
{
    public GameObject trackPrefab;
    public float trackLength = 30f;
    private Transform playerTransform;
    private Vector3 nextTrackPosition;

    void Start()
    {
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        nextTrackPosition = transform.position;
    }

    void Update()
    {
        if (playerTransform.position.z > nextTrackPosition.z - trackLength * 2)
        {
            SpawnTrack();
        }
    }

    void SpawnTrack()
    {
        nextTrackPosition.z += trackLength;
        Instantiate(trackPrefab, nextTrackPosition, Quaternion.identity);
    }
}
using UnityEngine;

public class GameManager : MonoBehaviour
{
    public bool gameOver = false;
    public int score = 0;

    void Update()
    {
        if (gameOver)
        {
            // Display Game Over UI
            Debug.Log("Game Over! Your Score: " + score);
        }
    }

    public void EndGame()
    {
        gameOver = true;
        Time.timeScale = 0; // Freeze the game
    }

    public void IncreaseScore(int amount)
    {
        score += amount;
        Debug.Log("Score: " + score);
    }
}using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 10f;
    public float jumpForce = 7f;
    public float laneDistance = 4f;

    private Rigidbody rb;
    private Animator animator;
    private bool isGrounded = true;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        // Move the player forward
        transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

        // Set running speed to the animator
        animator.SetFloat("Speed", moveSpeed);

        // Handle lane switching
        if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A))
        {
            if (transform.position.x > -laneDistance)
                transform.position = new Vector3(transform.position.x - laneDistance, transform.position.y, transform.position.z);
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D))
        {
            if (transform.position.x < laneDistance)
                transform.position = new Vector3(transform.position.x + laneDistance, transform.position.y, transform.position.z);
        }

        // Handle jumping
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
            isGrounded = false;

            // Trigger jump animation
            animator.SetBool("isJumping", true);
        }

        // Handle sliding
        if (Input.GetKeyDown(KeyCode.LeftControl))
        {
            // Trigger slide animation
            animator.SetBool("isSliding", true);
        }
    }

    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Ground")
        {
            isGrounded = true;

            // Reset jump and slide animations when back on ground
            animator.SetBool("isJumping", false);
            animator.SetBool("isSliding", false);
        }
    }
}
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public AudioClip jumpSound;
    public AudioClip coinSound;
    private AudioSource audioSource;

    void Start()
    {
        // Get the AudioSource component attached to the player
        audioSource = GetComponent<AudioSource>();
    }

    void Update()
    {
        // Example for jumping sound
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // Play jump sound
            PlaySound(jumpSound);
        }
    }

    void OnTriggerEnter(Collider other)
    {
        // Example for coin collection sound
        if (other.gameObject.tag == "Coin")
        {
            // Play coin collection sound
            PlaySound(coinSound);
            Destroy(other.gameObject); // Destroy the coin
        }
    }

    // Function to play a sound
    void PlaySound(AudioClip clip)
    {
        audioSource.PlayOneShot(clip);
    }
}
using UnityEngine;

public class MusicManager : MonoBehaviour
{
    private AudioSource audioSource;

    void Start()
    {
        audioSource = GetComponent<AudioSource>();
        audioSource.Play(); // Start playing music
    }

    public void StopMusic()
    {
        audioSource.Stop(); // Stop the music
    }

    public void PauseMusic()
    {
        audioSource.Pause(); // Pause the music
    }

    public void ResumeMusic()
    {
        audioSource.UnPause(); // Resume the music after pause
    }
}
audioSource.volume = 0.5f;  // Set volume to 59%
Leave a Comment