2023. 10. 17. 15:54ㆍ카테고리 없음
3주차 슈팅게임 만들기
dog vs cat
유니티와 VS커뮤니티를 활용하여 게임을 만들어보며 사용되는 코드와, 기능들에 대해서 더욱 자세하게 알 수 있었다.
1. 게임 제작에 필요한 기본 씬 만들기
2. 메인씬과 더불어 시작씬 만들어주기
- 버튼 컴포넌트는 "sprite"가 아니라, 반드시 "UI Image"에 붙여야 작동한다
3. 밥쏘기
-food scripts 만들어서 코딩해주기
transform.position += new Vector3(0.0f, 0.5f, 0.0f);
-반복 코딩
InvokeRepeating("makeFood", 0.0f, 0.2f);
void makeFood()
{
float x = dog.transform.position.x;
float y = dog.transform.position.y + 2.0f;
Instantiate(food, new Vector3(x,y,0), Quaternion.identity);
}
-Y좌표를 넘어가면 밥 사라기게 하기
void Update()
{
transform.position += new Vector3(0.0f, 0.5f, 0.0f);
if (transform.position.y > 26.0f)
{
Destroy(gameObject);
}
}
4. 고양이 나타내기
-고양이와 밥 충동하게 하기
rigidbody
collider
- gameManager 싱글톤 화
public static gameManager I;
void Awake()
{
I = this;
}
5. 레벨구성하기
-void Start()
{
float x = Random.Range(-8.5f, 8.5f);
float y = 30.0f;
transform.position = new Vector3(x, y, 0);
if (type == 1)
{
full = 10.0f;
}
}
-// 업데이트 구문 안의 if문
if (energy < full)
{
if (type == 0)
{
transform.position += new Vector3(0.0f, -0.05f, 0.0f);
}
else if (type == 1)
{
transform.position += new Vector3(0.0f, -0.03f, 0.0f);
}
if (transform.position.y < -16.0f)
{
gameManager.I.gameOver();
}
}
6. 버그 수정하기
-재시작이 안될때,
void Start()
{
Time.timeScale = 1.0f;
InvokeRepeating("makeFood", 0.0f, 0.1f);
InvokeRepeating("makeCat", 0.0f, 1.0f);
}
간단한 과정을 통해 게임제작을 할 수 있는데, 아직까지는 익숙하지 않아서 더딘 편인 것 같다.