반응형
코드 작성
using UnityEngine;
public class MonsterController : MonoBehaviour
{
public float knockbackForce = 5f; // 넉백 힘
public float knockbackDuration = 0.5f; // 넉백 지속 시간
private bool isKnockedBack = false; // 넉백 상태 여부를 나타내는 변수
private float knockbackTimer = 0f; // 넉백 지속 시간을 계산하는 타이머
private void Update()
{
// 넉백 상태인 경우 타이머를 업데이트하고 지속 시간이 끝나면 넉백 상태 해제
if (isKnockedBack)
{
knockbackTimer -= Time.deltaTime;
if (knockbackTimer <= 0)
{
isKnockedBack = false;
}
}
}
// 총알에 맞았을 때 호출되는 함수
public void TakeDamage(Vector2 bulletDirection)
{
if (!isKnockedBack)
{
// 넉백 효과 적용
Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.velocity = Vector2.zero; // 현재 속도를 초기화
rb.AddForce(-bulletDirection.normalized * knockbackForce, ForceMode2D.Impulse); // 넉백 방향으로 힘을 가함
// 넉백 상태 설정 및 타이머 초기화
isKnockedBack = true;
knockbackTimer = knockbackDuration;
}
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 간단한 디펜스 게임 만들기 Defense (0) | 2024.03.14 |
---|---|
유니티 C# 서버 없이 인앱 업데이트 간단 구현 Play Update (0) | 2024.03.14 |
유니티 C# 터치 스와이프 드래그 상하좌우 Swipe Drag 코드 작성 간단 구현 (0) | 2024.03.10 |
유니티 C# 2d 가상 조이스틱 간단 구현 joystick (0) | 2024.03.09 |
유니티 C# UI 파티클이 스크롤뷰 밖에서 렌더링 안 되도록 하는 방법 (0) | 2024.03.06 |
유니티 C# 쿠폰 시스템 만들기 간단 구현 Coupon (0) | 2024.02.29 |
유니티 C# 업적 시스템 만들기 간단 구현 (0) | 2024.02.29 |
유니티 C# 대화창 대화 시스템 간단 구현 (미연시 게임 만들기) (0) | 2024.02.29 |
댓글