르탄이의 x 값 바꾸기
float direction = 0.05f
void Update()
{
transform.position += new Vector3(direction, 0, 0);
}
transform : 오브젝트에 할당된 Transform Component
르탄이의 실시간 위치 확인
Debug.Log(transform.position.x);
벽에 부딪힐 때 르탄이가 움직이는 방향 바꾸기 + 이미지 방향 바꾸기
void Update()
{
if (transform.position.x > 2.8f)
{
direction = -0.05f;
transform.localScale = new Vector3(-1, 1, 1);
}
if (transform.position.x < -2.8f)
{
direction = 0.05f;
transform.localScale = new Vector3(1, 1, 1);
}
transform.position += new Vector3(direction, 0, 0);
}
float toward = 1.0f;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
toward *= -1;
direction *= -1;
}
if (transform.position.x > 2.8f)
{
direction = -0.05f;
toward = -1.0f;
}
if (transform.position.x < -2.8f)
{
direction = 0.05f;
toward = 1.0f;
}
transform.localScale = new Vector3(toward, 1, 1);
transform.position += new Vector3(direction, 0, 0);
}
rain 오브젝트 클릭 후 Inspector 창의 Add Component 클릭 -> Rigidbody 2D 클릭
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.gameObject.tag == "ground")
{
Destroy(gameObject);
}
}
빗방울을 랜덤한 위치에 생성
void Start()
{
float x = Random.Range(-2.7f, 2.7f);
float y = Random.Range(3f, 5f);
transform.position = new Vector3(x, y, 0);
}
크기와 점수가 다양한 빗방울 생성
int type;
float size;
int score;
void Start()
{
float x = Random.Range(-2.7f, 2.7f);
float y = Random.Range(3f, 5f);
transform.position = new Vector3(x, y, 0);
type = Random.Range(1, 4); // 1~3까지 중 하나의 랜덤한 값
if (type == 1)
{
size = 1.2f;
score = 3;
GetComponent<SpriteRenderer>().color = new Color(100 / 255f, 100 / 255f, 255 / 255f, 255 / 255f);
} else if (type == 2)
{
size = 1.0f;
score = 2;
GetComponent<SpriteRenderer>().color = new Color(130 / 255f, 130 / 255f, 255 / 255f, 255 / 255f);
} else if (type == 3)
{
size = 0.8f;
score = 1;
GetComponent<SpriteRenderer>().color = new Color(150 / 255f, 150 / 255f, 255 / 255f, 255 / 255f);
}
}
GameManager : 게임 전체를 조율하는 오브젝트
빗방울 복제
GameManager script로 rain 오브젝트 가져오기
public GameObject rain;
Instantiate 함수 이용하여 rain 오브젝트 복제하기
void Start()
{
InvokeRepeating("makeRain", 0.05f); // 0.05초마다 makeRain 함수를 실행
}
void makeRain()
{
Instantiate(rain);
}