떨어지는 블록
Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 61번째.
챌린지
중급이제 블록이 하늘에서 떨어집니다. 이전 레슨에서 만든 조작 기능은 그대로 두고, Runner에 다음을 추가하세요:
- Inspector에서 설정할 필드 세 개:
blockPrefab(GameObject: 씬에서 Block 프리팹을 지정합니다),spawnEvery(1),fallSpeed(5). - 생성한 모든 블록을 기억하는
blocks라는List<GameObject>. spawnEvery초마다-laneEdge와laneEdge사이의 임의의 x 좌표, y = 10, z = 0 위치에 Block을 생성하고blocks에 추가합니다.- 매 프레임마다
blocks에 있는 모든 블록을 초당fallSpeed단위의 속도로 아래로 이동시킵니다.
아직 블록은 러너에게 피해를 주지 못합니다. Play를 눌러 블록이 떨어지는 모습을 확인한 다음, Check를 누르세요.
직접 해보기
using UnityEngine;
public class Runner : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private float laneEdge = 4f;
void Update()
{
Vector3 p = transform.position;
p.x += Input.GetAxisRaw("Horizontal") * speed * Time.deltaTime;
p.x = Mathf.Clamp(p.x, -laneEdge, laneEdge);
transform.position = p;
}
}