연재

[자작] 유니티로 게임을 만들자! -3- 움직인다 히어로편

안녕~


http://www.dogdrip.net/index.php?mid=userdog&search_target=nick_name&search_keyword=Go2Heaven&document_srl=49900277&page=1


http://www.dogdrip.net/49909933


바로 시작하자.


 7-유니티.png

캐릭터 주변에 흰색 박스 보임?


투명이 안먹어서 그럼.


내가 전에 올린글 

http://www.dogdrip.net/index.php?mid=dogdrip&search_target=nick_name&search_keyword=Go2Heaven&document_srl=49329797&page=1

에서 소개했던 http://pixlr.com/editor/을 이용할꺼임

이걸루 투명화 시킬꺼임.


0-이미지툴.png

레이어의 자물쇠모양을 더블클릭해서 봉인을 해제 한후에

도구의 마법봉을 클릭하고 히어로의 바탕(흰색)을 클릭해 그럼 깜빡거림 그때 재빨리 DEL를 눌른다.

그럼 디자이너 눈에만 보인다는 그 투명(바둑판 모양)으로 변하는데 주의할 점은 히어로의 가랑이 사이는 선택이 안됬기 때문에 

가랑이 사이도 아주 꼼꼼하게 선택한후 재빨리 DEL를 누른다.

네비게이터의 산모양 아이콘을 누르면 확대도 됨.

그런 다음 저장하여 덮어 쓴다.

유니티에서 보면...

아-_-; 또 죽었네;;; 외부에서 편집하면 가끔 저러니깐 당황하지말고 재실행.

다시 띄우고 Assets의 hero를 선택하고 Inspector의 Filter Mode를 Point로 

Format을 16bit로 변경하고 Apply!!!


 1-유니티.png


그러면 이렇게됨. 왼쪽이 Bilinear 오른쪽이 point임.

hero를 보면 왼쪽은 흐릿하고 지저분한데 오른쪽은 깔끔함.

2D게임을 만들려면 이거를 해야 함. 모든 이미지에 다시 말해서 slime이랑 land에도 적용시키란 말임.

앞으로 추가할 모든 이미지에 적용해야 함.

이거 꿀팁임. ㅊㅊ 감사

2-유니티.png


그리고 하늘색을 바꿔보자.


Heirarchy에서 Main Camera를 선택하고

Inspector에서 Background의 색깔을 선택해서 100, 170, 255로 설정

3-유니티.png 


흠~ 한결 나은듯 하구만 ㅋㅋ

4-유니티.png


여기까지 그래픽 관련이였고


이제 슬슬 프/로/그/래/밍을 시작하도록 하지 ㅋㅋㅋ


별거 없으니 너무 긴장 ㄴㄴ


Assets에서 우클릭 Create > C# Script를 선택

이름은 csHero로 하자. cs는 c# script의 약자임. 앞으로 모든 스크립트에는 저걸 붙일꺼임.

5.png 


그리고 csHero를 더블클릭하면

이런넘이 뜰꺼임.

이넘은 MonoDevelop라는 개발툴이고 프로그램을 할 수 있는 툴이야.

앞으로 친하게 지내.

6.png


자 1편에서 배웠던 놈들이 우르르 나왔네?

이글은 따라하기니깐 복잡한 프로그래밍은 패스~

중요한거는 void Start()라는 함수는 첫 실행될때 Update()라는 함수는 계속 죽을때 까지 호출된다는거임.

이제 hero를 움직여 보자.

마우스 입력으로 할꺼임.


자 그럼 hero의 transform에 있는 position vector의 각 변수들은 읽기만 가능하기 때문에 임시 변수 vecPos에 저장하고,

vecPos의 x를 mouse event를 받을 때마다 증가시킨 후 다시 원래 hero의 transform의 postion에 할당하자.

이때 vecPos는 외부에게 노출되면 안되니깐 캡슐화를 고려해서 public으로 선언하지 말고, 

mouse event는 추후 다른 플랫폼에서 연동될 수 있도록 Input클래스의 static 함수인 GetButtonDown()을 이용해서 구현하면된다.


는 아래를 복사&붙여넣기 하면됨. 당연히 원래 있던 거는 지우고


using UnityEngine;

using System.Collections;


public class csHero : MonoBehaviour {


// Use this for initialization

void Start () {

vecPos = transform.position;

}

// Update is called once per frame

Vector3 vecPos;

void Update () 

{

if (Input.GetButtonDown("Fire1") == true)

{

vecPos.x += 0.1f;

transform.position = vecPos;

}

}

}


이렇게 만든 스크립트를 케릭터에 붙여야 함.


hero에 붙일꺼임.


hero는 2개가 있지? Assets에 있는거는 그림파일이고 리소스라고 불러,

Hierarchy에 있는거는 오브젝트라고 부르자.


Hirerarchy에 있는 hero오브젝트에 csHero를 드래그 앤 드랍하면


이제 캐릭터가 움/직/인/다.


클릭할때 마다 슬라임을 향해서 ㅋㅋ


실행은 위에 있는 삼각형을 누르면됨.7.png


그럼 조금씩 히어로가 슬라임을 도륙하려고 전진하지 ㅋㅋ


클릭은 Game텝에서 해야 됨.


Scene은 GUI로 편집하는 창.

Game이 실행되었을때를 보여주는 창.

Assets은 폴더 구조를 보여주는 창.

Hierarchy는 현재 화면에 있는 오브젝트들을 보여주는 창.

Inspector는 파일이나 오브젝트의 속성을 보여주는창.


그러구 보니 디폴트로 안하고 창을 옮겨놔서 햇갈릴 수도 있겠네

저렇게 바꾸는게 나는 편해서 저렇게 바꿨는데

각각의 창은 드래그앤 드롭으로 위치를 바꿀수 있어


이제 슬라임을 무찌르자!는 좀 길어 질것 같으니깐


여기서 끊고 다시 씀.


근데 이거 한번에 3개 이상 올리면 도배걸림?


6개의 댓글

2014.05.20
선추 감상
0
yd
2014.06.11
근데 저 코드 중에서 처음 이니셜라이징할 때 transform의 현재 좌표를 받아오는 것 같은데

만약에 저 라인을 start함수에 넣어버리면 키 누를 때마다 y는 start할 때 있었던 y고 x만 증가해서

중력에 의해서 내려가던 캐릭터가 키 누를 때마다 다시 위로 솟구칠 것 같은데?
0
yd
2014.06.11
@yd
어차피 땅이 있어서 내려가지도 않겠지만..
0
2014.06.12
@yd
x가 좌우기 때문에 위로 솟구칠 일은 없겠지?
0
yd
2014.06.12
@Go2Heaven
만약에 땅이 없다고 치면, 캐릭터는 바닥으로 쭉 떨어질거야

근데 게임이 시작할 때, start함수에 의해서 vecpos는 초기위치를 받은상태 x 0 y 0이라고 치자.
여기서 사용자가 fire1 이벤트를 발생시켰어 그러면 vecpos.x += 0.1f 가 되서 x 0.1 y 0가 되겠지.

근데 여기서 이벤트 발생할 때 y가 0이 되기때문에 땅으로 곤두박질치던 캐릭터가 다시 위로 올라오지않겠냐고 물어본거야
0
2014.06.13
@yd
ㅇㅇ 그런 의도로 말한거라면 맞어.

땅이 있기 때문에 y좌표는 0언저리에서 고정되어 있을 꺼고 (실제로는 0이 아니지만 0으로 치자고 했으니)
땅이 없으면 니말대로 쭉 떨어지다가 버튼을 누르면 y=0이 되기 때문에 솟구치는 것처럼 보이겠지.

나중에는 transform.Translate(speed*Time.deltaTime*direction,0,0);
으로 수정해서 y로는 변화 없이 이동하게끔 변경했지.
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
5222 [연재] 공포게임하는만화.manhwa 23 <화이트데이> 엔딩 4 잿더미어캣 3 4 시간 전
5221 [연재] 공포게임하는만화.manhwa 22 <화이트데이> 은미아줌마 12 잿더미어캣 12 7 일 전
5220 [연재] 공포게임하는만화.manhwa 21 <화이트데이> 신관편 9 잿더미어캣 18 14 일 전
5219 [연재] 공포게임하는만화.manhwa20 <화이트데이> 본관편 14 잿더미어캣 11 20 일 전
5218 [연재] 공포게임하는만화.manhwa19 <화이트데이> 11 잿더미어캣 16 28 일 전
5217 [연재] 공포게임하는.manhwa 18 [유튜브 관종이 되는 게임] <콘텐... 10 잿더미어캣 10 2024.05.06
5216 [연재] 공포게임하는.manhwa 17 [소녀의 잔혹동화] <마녀의 집> 15 잿더미어캣 9 2024.04.29
5215 [연재] 공포게임하는.manhwa16 <마녀의집MV> 10 잿더미어캣 21 2024.04.22
5214 [연재] 공포게임하는.manhwa 15[아편고양이, 캣냅편] <파피플레이... 13 잿더미어캣 23 2024.04.15
5213 [연재] 공포게임하는.manhwa 14[교권의 수호자, 미스딜라이트] <... 15 잿더미어캣 31 2024.04.08
5212 [연재] 공포게임하는.manhwa 13[4D로 즐기는 허기워기] <파피플레... 21 잿더미어캣 22 2024.04.01
5211 [연재] 공포게임하는.manhwa 12 <파피플레이타임> 7 잿더미어캣 21 2024.03.25
5210 [연재] 공포게임하는.manhwa 11 <파피플레이타임> 4 잿더미어캣 17 2024.03.19
5209 [연재] 조조전 모드 - 유선전 플레이 일지 (29) 8 CopyPaper 14 2024.03.15
5208 [연재] 조조전 모드 - 유선전 플레이 일지 (28) 6 CopyPaper 6 2024.03.15
5207 [연재] 조조전 모드 - 유선전 플레이 일지 (27) 4 CopyPaper 5 2024.03.14
5206 [연재] 조조전 모드 - 유선전 플레이 일지 (26) 3 CopyPaper 5 2024.03.14
5205 [연재] 조조전 모드 - 유선전 플레이 일지 (25) 8 CopyPaper 6 2024.03.13
5204 [연재] 조조전 모드 - 유선전 플레이 일지 (24) 5 CopyPaper 5 2024.03.12
5203 [연재] 조조전 모드 - 유선전 플레이 일지 (23) 7 CopyPaper 5 2024.03.12