Question by
peregrine_unity · Apr 11, 2021 at 06:57 PM ·
liveshealth
How to Add Lives to My Main Character in 2D Game?,How to Add Lives to my Main Character?
I'm making a simple game that is similar to angry birds. I watched this video to make the game: https://www.youtube.com/watch?v=Lu76c85LhGY
I want to count the number of lives that the main character uses. This is the code that I have so far for that main character:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bird : MonoBehaviour
{
[SerializeField] float _launchForce = 500;
[SerializeField] float _maxDragDistance = 3;
Vector2 _startPosition;
Rigidbody2D _rigidbody2D;
SpriteRenderer _spriteRenderer;
bool _resetting;
public bool IsDragging { get; private set; }
void Awake()
{
_rigidbody2D = GetComponent<Rigidbody2D>();
_spriteRenderer = GetComponent<SpriteRenderer>();
}
// Start is called before the first frame update
void Start()
{
_startPosition = _rigidbody2D.position;
_rigidbody2D.isKinematic = true;
}
void OnMouseDown()
{
_spriteRenderer.color = Color.red;
IsDragging = true;
}
void OnMouseUp()
{
Vector2 currentPosition = _rigidbody2D.position;
Vector2 direction = _startPosition - currentPosition;
direction.Normalize();
_rigidbody2D.isKinematic = false;
_rigidbody2D.AddForce(direction * _launchForce);
_spriteRenderer.color = Color.white;
IsDragging = false;
}
void OnMouseDrag()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 desiredPosition = mousePosition;
float distance = Vector2.Distance(desiredPosition, _startPosition);
if (distance > _maxDragDistance)
{
Vector2 direction = desiredPosition - _startPosition;
direction.Normalize();
desiredPosition = _startPosition + (direction * _maxDragDistance);
}
if (desiredPosition.x > _startPosition.x)
desiredPosition.x = _startPosition.x;
_rigidbody2D.position = desiredPosition;
}
// Update is called once per frame
void Update()
{
}
void OnCollisionEnter2D(Collision2D collision)
{
StartCoroutine(ResetAfterDelay());
}
IEnumerator ResetAfterDelay()
{
yield return new WaitForSeconds(3);
_rigidbody2D.position = _startPosition;
_rigidbody2D.isKinematic = true;
_rigidbody2D.velocity = Vector2.zero;
}
}
How do I count the number of lives used by my character?
Thanks in advance, any help is appreciated!
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613032100im_/https://answers.unity.com/themes/thub/images/avi.jpg)