์ ๋ํฐ์์ ํ์ผ๋งต์ ์ฌ์ฉํ์ฌ ํ๋ ์ด์ด ์บ๋ฆญํฐ๊ฐ ์๋๋ก ํ๊ณ ๋ค์ด๊ฐ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ์์ ์ฝ๋์ ๋๋ค. ์ด ์์ ๋ 2D ํ์ผ๋งต์ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค.
using UnityEngine;
using UnityEngine.Tilemaps;
public class Drillman : MonoBehaviour
{
public Tilemap tilemap; // ํ์ผ๋งต ์ฐธ์กฐ ๋ณ์
public TileBase emptyTile; // ๊ตฌ๋ฉ์ ๋ํ๋ด๋ ํฌ๋ช
ํ์ผ
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
DigHole();
}
}
private void DigHole()
{
// ํ์ฌ ํ๋ ์ด์ด์ ์์น
Vector3Int playerPosition = tilemap.WorldToCell(transform.position);
// ํ๋ ์ด์ด ์๋ ์์น์ ๊ตฌ๋ฉ์ผ๋ก ์ฌ์ฉํ ํ์ผ์ ์ค์
tilemap.SetTile(playerPosition + Vector3Int.down, emptyTile);
}
}
์ด ์ฝ๋์์๋ Drillman ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ง ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ ์๋ ์์น์์ Space ํค๋ฅผ ๋๋ฅด๋ฉด ํ๋ ์ด์ด ์๋์ ๊ตฌ๋ฉ์ ๋ง๋๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ฉ๋๋ค. tilemap ๋ณ์์๋ ํด๋น ํ์ผ๋งต ์ปดํฌ๋ํธ๋ฅผ ํ ๋นํ๊ณ , emptyTile ๋ณ์์๋ ๊ตฌ๋ฉ์ ๋ํ๋ด๋ ํฌ๋ช ํ ํ์ผ์ ํ ๋นํฉ๋๋ค.
DigHole() ๋ฉ์๋์์๋ ํ๋ ์ด์ด์ ํ์ฌ ์์น๋ฅผ ๊ฐ์ ธ์์ ํ๋ ์ด์ด ์๋ ์์น์ ๊ตฌ๋ฉ์ผ๋ก ์ฌ์ฉํ ํ์ผ์ ์ค์ ํฉ๋๋ค. SetTile() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์์น์ emptyTile์ ๋ฐฐ์นํ์ฌ ๊ตฌ๋ฉ์ ์์ฑํฉ๋๋ค.
์์ ์ฝ๋๋ ์์๋ก ๊ตฌํ๋ ๊ฒ์ด๋ฉฐ, ํ๋ก์ ํธ์ ๋ง๊ฒ ์ฝ๋๋ฅผ ์์ ํ๊ณ ๊ตฌ๋ฉ์ ํํํ๋ ํ์ผ๊ณผ ์ ๋๋ฉ์ด์ ๋ฑ์ ์ถ๊ฐํ์ฌ ์ํ๋ ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
'๊ฒ์ ํ๋ก๊ทธ๋๋ฐ > ์ ๋ํฐ ์์ง(Unity)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋ฌผ ์ฐพ๊ธฐ ใ ใ ใ (0) | 2024.01.30 |
---|---|
์ ๋ํฐ ํ๋ ๊ฐ๊ฒฉ ์ ์ฑ ๋ณ๊ฒฝ (0) | 2023.09.15 |
UModeler Lite (2) | 2022.09.30 |
์ ๋ํฐ C# ๊ธฐ์ด - ์ด๋ฒคํธ ํจ์์ ์คํ ์์ (0) | 2022.09.05 |
์ ๋ํฐ ๊ต๊ณผ์ 4์ฅ. UI์ ๊ฐ๋ ์ค๋ธ์ ํธ (0) | 2022.09.05 |