일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- mysql
- 양자컴퓨터
- JPA
- file download
- API
- redis
- Elastic
- ann
- Selenium
- elasticsearch cache
- Query
- NORI
- KNN
- Analyzer
- java
- 테슬라
- api cache
- IONQ
- request cache
- dbeaver
- Docker
- Elasticsearch
- java crawler
- 아이온큐
- Aggregation
- aggs
- aqqle
- vavr
- Cache
- TSLA
Archives
- Today
- Total
아빠는 개발자
[unity] Enemy 만들기 본문
728x90
반응형
적으로 쓸 이미지를 이 매미같은 친구들로 정했다.
외계인이라고 하는..
우선
Sprites 폴더에 매미를 넣는다.
그리곤 우측 Splite Randerer 에서 Rraw mode 를 multi 로 바꿔준다.
무기나 케릭터 잘랐던것 처럼 splite 주고 auto 로 옵션을 주고 짤랐다.
와.. 저장 안하고 닫았..
component 에 충돌영역과 중력을 붙이고 tag 도 신규 Enemy tag 생성해서 붙여준다.
그리고 prefabs 에 넣어서 재사용 할수 있게 한다.
prefabs 에 들어있는객체들을 복사하고 이름을 변경해준다.
이미지를 끌어다가 변경을 하고
Enemy Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
[SerializeField]
private float moveSpeed = 5f;
// Update is called once per frame
private float minY = -7f;
void Update()
{
transform.position += Vector3.down * moveSpeed * Time.deltaTime;
if(transform.position.y < minY) {
Destroy(gameObject);
}
}
}
Empty Object 생성해서
화면 상단에 시작위치 잡아주고 EnemySpawner 로 이름변경
스크립트도 EnemySpawner 로 이름을 변경해준다.
EnemySpawner Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemySpawner : MonoBehaviour
{
[SerializeField]
private GameObject[] enemies;
private float[] arrayPosX = {-2f, 0f , 2f};
[SerializeField]
private float spawnInterval = 1.5f;
// Start is called before the first frame update
void Start()
{
StartEnemyRoutine();
}
void StartEnemyRoutine(){
StartCoroutine("EnemyRoutine");
}
IEnumerator EnemyRoutine(){
yield return new WaitForSeconds(3f);
while(true){
int index = Random.Range(0, enemies.Length);
foreach( float posX in arrayPosX){
SpawnEnemy(posX, index);
}
yield return new WaitForSeconds(spawnInterval);
}
}
void SpawnEnemy(float posX, int index){
Vector3 spawnPos = new Vector3(posX, transform.position.y, transform.position.z);
Instantiate(enemies[index], spawnPos, Quaternion.identity);
}
}
하면 Enemies 가 생기는데 prefabs 를 드래그해서 넣어준다.
728x90
반응형
'GAME' 카테고리의 다른 글
[unity] 공격무기 (weapon) 만들기 (1) | 2024.02.25 |
---|---|
[unity] dragon (player) (0) | 2024.02.18 |
[unity] background (0) | 2024.02.18 |