[ Unity3D 0701]
[ Unity3D 0702]
[ 2D Mario Clone - Ch06 ]
Part 29: Pickup Mushroom Setup and Grow
Tutorial 13에서 prefab_pickup_mushroomGrow 복사
mushroom이 움직이고, 벽을 만나게 되면 방향을 바꾸게 하고 있음
mushroom - rigidbody(component)
constrains : rigidbody의 영향을 받지 않는 부분을 설정
Freeze Position : z값 고정
Freeze Rotation : x,y,z값 고정
간단한 "Apply"(prefab) 설명
Apply를 적용하는 경우 만들어져 있는 prefab에 영향을 주게되며, 다음에 이 prefab으로 GameObject를 만드는 경우 변경된 것들이 적용됨
[14:00] 충돌에 따른 행동 변화를 위해
mushroomCollider에 mushroomCollider.cs를 추가
<Source>mushroomCollider.cs
[18:35] mushroomCollider의 방향을 체크해서 왼쪽 및 오른쪽으로 움직이게 함
prefab_pickup_mushroomGrow 에 mushroom.cs를 추가
<Source>mushroom.cs
Part 30: Pickup Mushroom Extra Life
Tutorial 14
Extra Life Mushroom action 및 Pick up
이미 만들어진 스크립트 붙이기
mushroom.cs 붙이기
mushroomCollider.cs 붙이기
itemPickup.cs 붙이기
Sound item Pickcup(public 변수) - mario_1-up
properties에 있는 coins / lives / keys를 모두 HUD에서 관리할 수 있도록 고치는 것이 좋을 듯
Part 31: Fireball projectile
Tutorial 15
Fireball action 처리
Prefab_fireball 끌어다 놓기
[14:10] projectileFireball.cs 골격 및 파이어볼을 위/오른쪽 방향으로 움직이게 하기
Rigidbody >> Use Gravity >> Uncheck
Sphere Collider >> Is Trigger >> Check
<Source>projectileFireball3101
[20:50] Fireball Up/Down 처리
<Source>projectileFireball3102
[37:05] 파이어 볼 충돌 이후 처리
Physics.Raycast() : 특정 위치를 기준으로 방향 직선을 그어 충돌된 객체들을 알아내는 함수(즉 직선과 객체의 충돌 여부를 알려 줌)
참고 : Raycast
여기서는 왼쪽 / 오른쪽 위치에 있는 객체와 충돌 했는지를 알려줌
<Source>projectileFireball3103
[42:04] "enemy"와 충돌했을 때 처리
ParticlePlay() 처리
smokePuff - prefab_particle_smoke 연결
KillFireball() 처리 - 외부의 영향으로 파괴되지 않을 경우 자체적으로 일정 시간 이후에는 자동적으로 파괴될 수 있도록 처리
[44:33 ] Projectile의 Clone을 조정(moveSpeed)할 수 있도록 한다. >> Prefab의 "Apply" 해줘야 함
player >> Collision 박스들 중에 "untagged"로 되어 있는 것들을 다른 태그형 이름(예>"CollionBoxBody")으로 바꿔 준다.
이유 : projectile을 발사하자마자 "untagged"와 충돌해서 위로 발사되게 된다.
playerProperties에서 AddForce로 물리적인 힘을 가해서 Fire Ball을 진행시켰으나, 여기서는 일정 수치의 스피드를 설정할 수 있도록 소스가 바뀜
<Source>projectileFireball3104 / playerProperties3105