반응형
적 코드
using UnityEngine;
public class Enemy : MonoBehaviour
{
public float speed = 5f; // 적의 이동 속도
void Update()
{
Move(); // 이동 함수 호출
}
void Move()
{
// 적이 현재 위치에서 목표 지점으로 이동하는 방향을 계산합니다.
Vector3 moveDirection = Vector3.left;
// 적을 목표 지점으로 이동합니다.
transform.Translate(moveDirection * speed * Time.deltaTime);
}
}
타워 코드
public class Tower : MonoBehaviour
{
public GameObject bulletPrefab; // 발사체 프리팹
public Transform firePoint; // 발사 지점
public float fireRate = 1f; // 발사 속도
private float fireCountdown = 0f; // 발사 대기 시간
void Update()
{
if (fireCountdown <= 0f)
{
Shoot(); // 발사 함수 호출
fireCountdown = 1f / fireRate; // 발사 대기 시간 재설정
}
fireCountdown -= Time.deltaTime; // 발사 대기 시간 감소
}
void Shoot()
{
// 발사체를 발사 지점에서 생성합니다.
Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
}
}
총알 코드
public class Bullet : MonoBehaviour
{
public float speed = 20f; // 발사체 속도
public int damage = 10; // 발사체 데미지
void Update()
{
Move(); // 이동 함수 호출
}
void Move()
{
// 발사체를 앞으로 이동시킵니다.
transform.Translate(Vector3.right * speed * Time.deltaTime);
}
void OnTriggerEnter2D(Collider2D hitInfo)
{
// 충돌한 객체가 적인지 확인합니다.
Enemy enemy = hitInfo.GetComponent<Enemy>();
if (enemy != null)
{
enemy.TakeDamage(damage); // 적에게 데미지를 입힙니다.
Destroy(gameObject); // 발사체를 파괴합니다.
}
}
}
적 소환
public class EnemySpawner : MonoBehaviour
{
public GameObject enemyPrefab; // 적 프리팹
public Transform spawnPoint; // 생성 지점
public float spawnRate = 2f; // 생성 속도
private float spawnCountdown = 0f; // 생성 대기 시간
void Update()
{
if (spawnCountdown <= 0f)
{
SpawnEnemy(); // 적 생성 함수 호출
spawnCountdown = 1f / spawnRate; // 생성 대기 시간 재설정
}
spawnCountdown -= Time.deltaTime; // 생성 대기 시간 감소
}
void SpawnEnemy()
{
// 생성 지점에서 적을 생성합니다.
Instantiate(enemyPrefab, spawnPoint.position, spawnPoint.rotation);
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 에셋번들 빌드하는 방법 간단 구현 Asset Bundle Build (0) | 2024.03.15 |
---|---|
유니티 C# 네이버 로그인 간단 구현 Naver Login SDK (0) | 2024.03.15 |
유니티 C# 화면 안 꺼짐 방지, 화면 안 꺼지도록 하기 (0) | 2024.03.14 |
유니티 C# 방치형 돈 자동생산 코드 작성하기 간단 구현 (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# 2d 넉백 효과 간단 구현 Collider knock back (0) | 2024.03.09 |
댓글