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.
- 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:
- 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.
- 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.
- 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.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.