User:SPARTROY

Components

> Foreground/Platform

  • 2D Box Collider

> Player

  • 2D Box Collider
  • 2D Rigid Body

>Trapdoor

- Fixed-platform
  • 2D Rigid body (Change to Kinematic)
  • 2D Box Collider
- Rotating-platform
  • 2D Rigid body
  • 2D Box Collider
  • 2D Hinge Joint
    • Connect the fixed with the rotating
    • use motor (100,-100)
    • use limits


>Explosion

  • Edge Collider 2D


Animator

From idle to walk speed greater
From idle to walk speed smaller
From Any state to jump grounded true
From jump to idle grounded false

//Remove exit time

Checkpoints

Create 3 Empty game objects

  • Checkpoint (Add a empty game object at the flag)
    • Script

public void OnTriggerEnter2D(Collider2D other)

    {

        if (other.name =="Sonic_0"/*name of the character sprite*/)

        {

            FindObjectOfType<LevelManager>().CurrentCheckpoint = this.gameObject;

        }

    }

  • LevelManager
    • Script
  • Add these variables
    • public GameObject CurrentCheckpoint;
    • public Transform player;

public void RespawnPlayer()

    {

        FindObjectOfType<control/*Script of controlling player*/>().transform.position = CurrentCheckpoint.transform.position;

    }

  • Spike
    • Script

public void OnTriggerEnter2D(Collider2D other)

    {

        if (other.name == "Sonic_0"/*name of the character sprite*/)

        {

            FindObjectOfType<LevelManager>().RespawnPlayer();

        }

    }

    • 2D Box Collider(Tick is Triggered)

Game Variables & Coding

//movement

public float player_speed;

public float jump_height;

//controlling keys

public KeyCode Jump;

public KeyCode Left;

public KeyCode Right;

//Utilities

public Transform groundCheck;

public float GND_Radius;

public LayerMask WhatisGND;

public bool grounded;

Controlling Player

//Moving Right

   if (Input.GetKey(Right))

        {

            GetComponent<Rigidbody2D>().velocity = new Vector2(-player_speed, GetComponent<Rigidbody2D>().velocity.y);

            if (GetComponent<SpriteRenderer>() != null)

            {

                GetComponent<SpriteRenderer>().flipX = true;

            }

        }

//Moving Left

       if (Input.GetKey(Left))

        {

            GetComponent<Rigidbody2D>().velocity = new Vector2(player_speed, GetComponent<Rigidbody2D>().velocity.y);

            if (GetComponent<SpriteRenderer>() != null)

            {

                GetComponent<SpriteRenderer>().flipX = false;

            }

        }

    }

//Jump

void Jump()

    {

        GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, jump_height);

    }

    void FixedUpdate()

    {

        grounded = Physics2D.OverlapCircle(groundCheck.position, GND_Radius, WhatisGND);

    }

//For Animation

anime.SetFloat("Speed", Mathf.Abs(GetComponent<Rigidbody2D>().velocity.x));

anime.SetBool("Grounded", grounded);


Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.