C#:
using UnityEngine;
public class Player : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
public Sprite[] sprites;
private int spriteIndex;
public GameObject particle;
public float strength = 5f;
public float gravity = -9.81f;
public float tilt = 5f;
private Vector3 direction;
private void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
private void Start()
{
InvokeRepeating(nameof(AnimateSprite), 0.15f, 0.15f);
}
private void OnEnable()
{
Vector3 position = transform.position;
position.y = 0f;
transform.position = position;
direction = Vector3.zero;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0)) {
direction = Vector3.up * strength;
}
// Apply gravity and update the position
direction.y += gravity * Time.deltaTime;
transform.position += direction * Time.deltaTime;
// Tilt the bird based on the direction
Vector3 rotation = transform.eulerAngles;
rotation.z = direction.y * tilt;
transform.eulerAngles = rotation;
}
private void AnimateSprite()
{
spriteIndex++;
if (spriteIndex >= sprites.Length) {
spriteIndex = 0;
}
if (spriteIndex < sprites.Length && spriteIndex >= 0) {
spriteRenderer.sprite = sprites[spriteIndex];
}
}
// code for rotating coin
void OntriggerEnter2D(Collider col)
{
if (col.tag=="coin")
{
GameObject p = Instantiate(particle, col.transform.position, particle.transform.rotation);
Destroy(p, 0.5f);
Destroy(col.gameObject);
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Obstacle")) {
FindObjectOfType<GameManager>().GameOver();
} else if (other.gameObject.CompareTag("Scoring")) {
FindObjectOfType<GameManager>().IncreaseScore();
}
}
}
Im trying to learn game development with 2d ..so i started to make snake game and then with flappy draggon...yeah its bit funny ..but can anyone help me to add coins? it not coming between the pipes...except that everything works properly in the game..
Thankyou!