'2014/02'에 해당되는 글 57건

  1. 2014.02.25 플레이어 무기 발사 - gun 스크립트
  2. 2014.02.25 주인공을 따라다니는 카메라
  3. 2014.02.25 재귀함수 예
  4. 2014.02.25 플레이어 컨트롤 스크립트
  5. 2014.02.25 배경 시차 스크롤 카메라의 움직임에따라
  6. 2014.02.24 파이어 폭스 유용한 부가기능
  7. 2014.02.18 유니티 광고 수익
  8. 2014.02.18 유니티 개발 시작
  9. 2014.02.17 특정위치 아래로 이동하는 함수 - Lerp 사용
  10. 2014.02.17 캐릭터 체력 바 생성하기 (1)

플레이어 무기 발사 - gun 스크립트

|



프리팹을 생성해줄때 Rigidbody2D 로 생성해줄수도 있음.. 생성해주고 나서 리지드바디의 velocity 값을 수정해서 로켓이 발사되는 위치를 지정해줌.

transform.root -> 등을 사용하여 최상위 오브젝트에 접근한다.


Trackback 0 And Comment 0

주인공을 따라다니는 카메라

|


슈퍼마리오의 카메라 처럼 일정 거리에서는 카메라가 움직이지 않고 일정거리를 넘어갔을때만 카메라가 이동함.


// If the player has moved beyond the x margin...

if(CheckXMargin())

// ... the target x coordinate should be a Lerp between the camera's current x position and the player's current x position.

targetX = Mathf.Lerp(transform.position.x, player.position.x, xSmooth * Time.deltaTime);


// If the player has moved beyond the y margin...

if(CheckYMargin())

// ... the target y coordinate should be a Lerp between the camera's current y position and the player's current y position.

targetY = Mathf.Lerp(transform.position.y, player.position.y, ySmooth * Time.deltaTime);


-> 마진 체크 후 카메라 이동


->Lerp 가 결국에는 targetY에 대입이 되며 targetY값은 계속 증가 결국 플레이어의 위치값과 똑같아짐









// The target x and y coordinates should not be larger than the maximum or smaller than the minimum.

targetX = Mathf.Clamp(targetX, minXAndY.x, maxXAndY.x);

targetY = Mathf.Clamp(targetY, minXAndY.y, maxXAndY.y);


// Set the camera's position to the target position with the same z component.

transform.position = new Vector3(targetX, targetY, transform.position.z);


-> 카메라 최대 거리 제한






결국엔 히어로의 값이랑 메인카메라랑 값이 똑같아 져야 되지만 카메라의 위치를 제한을 둬서 일정거리까지는 이동을 하지 못함








Trackback 0 And Comment 0

재귀함수 예

|

재귀함수 예..


tauntIndex = TauntRandom();


int TauntRandom()

{

// Choose a random index of the taunts array.

int i = Random.Range(0, taunts.Length);


// If it's the same as the previous taunt...

if(i == tauntIndex)

// ... try another random taunt.

return TauntRandom();

else

// Otherwise return this index.

return i;

}


만약 같은 함수이면 다시한번 TauntRandom를 호출함. 다른함수가 나오면 랜덤값 반환 아니면 계속해서 TauntRandom 함수 호출..

'유니티 > 스크립트' 카테고리의 다른 글

c# 의 region 기능  (0) 2014.02.27
가까운 위치 순으로 정렬하기  (0) 2014.02.27
재귀함수 예  (0) 2014.02.25
특정위치 아래로 이동하는 함수 - Lerp 사용  (0) 2014.02.17
캐릭터 체력 바 생성하기  (1) 2014.02.17
Transform.TransformDirection  (0) 2014.02.17
Trackback 0 And Comment 0

플레이어 컨트롤 스크립트

|


Taunt -> 점수 획득시 호출 -> 플레이어 웃음 소리 랜덤으로 발생 -> 같은 웃음소리면 다시 호출해서 다른 웃음소리가 나올때까지 호출함(재귀호출)


Linecast-> 라인 캐스트를 사용해서 플레이어의 밑이 Ground인지 파악한다. -> 오브젝트의 레이어 이름이 Ground여야 됨..


groundCheck -> 빈 게임 오브젝트를 캐릭터 밑에 위치 시킴. 인스펙터창에서 모양을 지정해줄수있어서 어디 위치했는지 쉽게 알수 있음.


if(h * rigidbody2D.velocity.x < maxSpeed)

rigidbody2D.AddForce(Vector2.right * h * moveForce);

if(Mathf.Abs(rigidbody2D.velocity.x) > maxSpeed)

rigidbody2D.velocity = new Vector2(Mathf.Sign(rigidbody2D.velocity.x) * maxSpeed, rigidbody2D.velocity.y);


플레이어의 속도가 최대속도보다 아래면 힘을주고 아니면 속도를 최대속도로 제한해준다.


if(h > 0 && !facingRight)
// ... flip the player.
Flip();
// Otherwise if the input is moving the player left and the player is facing right...
else if(h < 0 && facingRight)
// ... flip the player.
Flip();

플레이어의 모양을 보고 왼쪽이면 왼쪽을 바라보게 오른쪽이면 오른쪽으로 바라보게 한다.


if(jump)
{
// Set the Jump animator trigger parameter.
anim.SetTrigger("Jump");

// Play a random jump audio clip.
int i = Random.Range(0, jumpClips.Length);
AudioSource.PlayClipAtPoint(jumpClips[i], transform.position);

// Add a vertical force to the player.
rigidbody2D.AddForce(new Vector2(0f, jumpForce));

// Make sure the player can't jump again until the jump conditions from Update are satisfied.
jump = false;
}

점프 중이면. 랜덤으로 점프 사운드를 재생하고 위쪽으로 힘을 가한다(AddForce)


-> 모든 물리관련 동작은 FixedUpdate()에서 실행한다.


솔직히 아직도 재귀함수에 대한 이해가 부족한거 같음
된다는건 알고있지만 뭔가 이상하다..





Trackback 0 And Comment 0

배경 시차 스크롤 카메라의 움직임에따라

|


배경 시차 스크롤 카메라의 움직임에 따라서 배경의 움직임이  달라짐.

Background 빈 오브젝트에 각각의 값들을 집어넣으면 그 값들은 각각의 속도가 다름..

뭔가 파악하기 어려운 소스지만.. 일단 대강은 이해가 감.




parallax.unitypackage


카메라를 이동가능하게 만듬..



parallaxScale -> 시차 스크롤링 속도 (카메라의 움직임에 따라 값이 클수록 더 빨리 배경이 움직임)


parallaxReductionFactor -> 각 레이어 별 시차 스크롤 속도 차이 값이 클수록 각 레이어별로 속도 차이가 크다.


smothing -> Lerp 함수에 입력된 값


Trackback 0 And Comment 0

파이어 폭스 유용한 부가기능

|

Adblock Plus
All-in-One Sidebar
Tab Mix Plus
FireGestures
Pocket
Zoom Page
AutoPager
QuickFox Notes
Locationbar²
Quick Search Bar
SelectionSK

'유니티 > Note' 카테고리의 다른 글

delegate, action, event 활용 관련  (0) 2014.04.07
안드로이드 In-app Billing Version 3 - 구글번역  (0) 2014.03.27
파이어 폭스 유용한 부가기능  (0) 2014.02.24
유니티 광고 수익  (0) 2014.02.18
유니티 개발 시작  (0) 2014.02.18
삼각함수 관련  (0) 2014.02.16
Trackback 0 And Comment 0

유니티 광고 수익

|

애드몹, 카울리 등 광고를 붙이는 방법을 모색해보자.


'유니티 > Note' 카테고리의 다른 글

안드로이드 In-app Billing Version 3 - 구글번역  (0) 2014.03.27
파이어 폭스 유용한 부가기능  (0) 2014.02.24
유니티 광고 수익  (0) 2014.02.18
유니티 개발 시작  (0) 2014.02.18
삼각함수 관련  (0) 2014.02.16
벡터  (0) 2014.02.16
Trackback 0 And Comment 0

유니티 개발 시작

|

유니티 개발에 있어서 최대한 많은 습작을 만드는게 좋을 것 같음.

책에 있는 내용들은 거의 그대로 따라하는 방식으로 작업을 했었음.

그 이후에는 각종 예제 소스들을 분석해가면서 작업.

그리고 자기만의 게임을 만들어야 될듯.


일단 책에 있는 게임 예제들을 책을 안보고 혼자서 해보는 방식으로 개발하는것도 괜찮을 것 같음.

유니티의 장점은 에셋이 없어도 프로토타입을 쉽게 만들 수 있는 것이기 때문에.





'유니티 > Note' 카테고리의 다른 글

파이어 폭스 유용한 부가기능  (0) 2014.02.24
유니티 광고 수익  (0) 2014.02.18
유니티 개발 시작  (0) 2014.02.18
삼각함수 관련  (0) 2014.02.16
벡터  (0) 2014.02.16
메카닉 관련 유니티 제공 에셋  (0) 2014.02.14
Trackback 0 And Comment 0

특정위치 아래로 이동하는 함수 - Lerp 사용

|





사용법


StartCoroutine( MoveDown(transform, 0.2f, 0.2f));

첫번째 인자 현재 트랜스폼

두번째 인자 이동 거리, 세번째 인자 이동 속도

Trackback 0 And Comment 0

캐릭터 체력 바 생성하기

|



 GUITexture 를 사용하여 체력바를 표시한다.

GUITexture 두장을 사용하여 하나는 체력바 배경으로 만들고 하나는 줄어드는 체력바를 표시함.

그리고 그것을 프리팹으로 만들어준다.


몬스터에 해당 스크립트를 붙이고

체력을 설정해주고 위에서 만든 프리팹을 붙여주면 된다.





Trackback 0 And Comment 1
  1. jar00 2014.03.21 02:14 address edit & del reply

    안녕하세요. 이 글을 참조해서 게임을 제작하고 있는 학생입니다.

    다름이 아니라 "GUITexture 두장을 사용하여 하나는 체력바 배경으로 만들고 하나는 줄어드는 체력바를 표시함. 그리고 그것을 프리팹으로 만들어준다" 가 무슨 의미인지요? GUITexture 프리팹 두개가 있는데 스크립트에는 하나밖에 불러오지 않네요..

prev | 1 | 2 | 3 | 4 | 5 | 6 | next