승쨩개발공부

[Unity] 골드메탈 플렛포머(Player)분석 본문

C#/Unity

[Unity] 골드메탈 플렛포머(Player)분석

Unknowns 2024. 4. 8. 04:28

 

맴버변수,Awake함수 구문

AudioClip은 UnityEngine에 들어있어서 따로 추가안해줘도되었다.

추가한 컴포넌트들은 Awake초기화부문에서 초기화해준다.

 

 

 

 

 

Update구문

Unity ProjectManager에 있는 Input에 Horizontal과 Jump가 각각 키입력이 자동으로 되어있다

Horizontal = 키보드 방향키 오른쪽,왼쪽

Jump = 스페이스바

 

jump

스페아스바를 누르거나 에니메이터에넣어준 paramaters값 IsJumping이 아닐떄 점프를 한다

업벡터에 맴버변수로 정해준 점프파워를 곱한다, 그리고 impulse를 해줘서 누가 밀듯이 순간적인 속도를 준다.

 

stopspeed

좌우 키를 때면 rigid의 속도는 x좌표값만 단위백터로 가져와 0.5를 곱해줘 마찰력을 준다.

 

direction sprite

-1 0 1로 표현하는 GetAxisRaw로 filp해준다

 

walk Animation

rigid의 x축 속도의 절대값이 0.5보다 작다면

파라메터를 false해줘서 walk에니메이션을 idle로바꾼다.

 

 

 

 

 

FixedUpdate구문

 

MoveSpeed

-1, 0, 1 을 가져와 right백터에 곱해줘서 좌,우를 판단한다

 

right max spped

maxspeed가 rigid.x의 속도보다 작다면 rigid속도에  maxspeed를 넣느다

 

left max speed

right와 같지만 좌쪽으로 간다면 음수이니 -1를 곱해줌

 

lading platform

Ray를 그린다 현재 rigid의 포지션에 아래백터로 색깔은 녹색 rgb

ray가 platform 레이어의 맞았으면, ray와 platform사이가 0.5보다 작다면 jump애니메이션을 중지.

 

 

 

 

OnCollisonEnter2D구문

Enemy 태그와 충돌하면

 

Attack

밟았을떄만 떄리기위해

y축 속도가 0보다 작거나, 콜라이더에 y축이 현재 오브잭트에 y축보다 작다면

때리고 사운드재생

 

Damaged

아니면 맞고 데미지를 입는다.

 

 

 

 

OnTriggerEnter2D

아이템 객체에 Trigger를 On해줘야됨.

 

item태그와 충돌하면

점수얻고 삭제하고 사운드재생

 

finish태그와 충돌하면

다음스테이지 이동하고 사운드재생

 

 

OnDamaged구문

인자로 타겟의 위치를 받는다 vector2니 x,y축

맞았을떄 2초의 무적을 주기위해 PlayerDamaged라는 레이어를 새로 만들어서

Enemy와 충돌 안되게 했다 = Player의 레이어는 두개 Player,PlayerDamaged

맞았을떄 알파값을 조절해 살짝 투명하게 만든다.

맞았을떄 튕기는 느낌을 주기위해 위치값에 타겟의 x축을 가져와 비교하며 튕긴다

에니메이션을 재생하고

2초뒤 invoke함수로 OffDamaged함수를 호출

 

 

나머지구문

 

OffDamage

레이러를 플레이어 레이어로 변경해서 다시 충돌가능하게 만듦

알파값도 원래대로

 

OnAttack

몬스터의 위치를 인자로받음

점수를 얻고

up백터에 5를곱해 튕기게만듦

몬스터의 데미지 함수를 호출

 

Ondie

알파값을 낮춰 투명하게만들고

y축을 flip해서 y축을 뒤집어줌

플랫폼과 충돌안되고 쭉 떨어지기위해 콜라이더를 끄고

업백터에 5를곱해 튀어올라 떨어지게만듦

그리고 사운드재생

 

VelocityZero

속도를 0으로 만듦

 

'C# > Unity' 카테고리의 다른 글

[Unity] 충돌여백  (0) 2024.04.25
[Unity] 폰트  (0) 2024.04.11
[Unity] 이동관련 함수들  (0) 2024.04.06
[Unity] 프레임워크 라이프 사이클  (0) 2024.04.06
[Unity] 유니티 인터페이스  (0) 2024.04.04