유니티기초[유니티 기초] 82_손가락 두개 터치하여 캐릭터 점프하기

엔게디
2020-06-12
조회수 138

오늘은 터치를 양손가락으로 할 경우 캐릭터가 점프하도록 하겠습니다.


다음의 코드를 통하여 터치가 2개, 즉 양 손가락으로 터치할 경우 캐릭터가 점프하도록 코드를 추가합니다. 테스트 해보면 캐릭터는 위로만 올라갑니다. 이제 캐릭터에 중력이 필요합니다.


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class PlayerMove : MonoBehaviour

{

    private float speed = 5.0f;

    private Animator animator;


    private void Start()

    {

        animator = GetComponent<Animator>();

    }

    void Update()

    {

        // Debug.Log(Screen.width);

        // Debug.Log(Screen.height);

        if (Input.touchCount == 1)

        {

                if (Input.GetTouch(0).position.x > (Screen.width/2))

                {

                    animator.SetBool("RunStart", false);

                    transform.localScale = new Vector2(1, 1);

                    transform.Translate(speed * Time.deltaTime, 0, 0);

                } else

                {

                    animator.SetBool("RunStart", false);

                    transform.localScale = new Vector2(-1, 1);

                    transform.Translate(-speed * Time.deltaTime, 0, 0);

            } 

        } else if (Input.touchCount == 2)

        {

            Debug.Log("점프");

            transform.Translate(0, 0.08f, 0);

        }

        else

        {

            animator.SetBool("RunStart", true);

        }

    }

}



다음과 같이 캐릭터에 Rigidbody 2D 를 추가하여 중력을 만듭니다. 캐릭터가 무한대로 떨어지는 것을 방지하기 위해 바닥을 만들어줍니다. 캐릭터와 바닥에 충돌 감지를 위해 Box Collider 2D를 추가해줍니다. 이렇게 하면 캐릭터와 바닥은 충돌 감지가 되어 캐릭터는 바닥에 도착하게 됩니다. 점프도 잘 됩니다. 달리기도 잘합니다. ^^

1 0

매일 한알의 마늘처럼 하나의 미션 수행!

동굴뛰쳐나가지 않고 매일 하나의 마늘을 먹기!!!

게임이나 VR, AR 에 유니티가 언리얼과 같이 많이 사용된다고 듣긴 했지만 나와는 관계없는 프로그램 같았습니다. 그러다가 우연한 계기로 게임 디자인을 하면서 유니티에 관심이 생겼습니다. 


자바스크립트가 유니티와 연동된다고 하니, 유니티가 매력있게 다가왔습니다. 유니티까지 활용한다면 작업 영역의 확장 뿐만 아니라 재미있는 콘텐츠를 제작할수 있겠다는 가능성이 보였습니다.


내가 기획하고, 디자인하고, 개발까지 하여 하나의 게임 앱을 만들수가 있다니! 얼마나 달콤한 유혹인지 모릅니다. 물론 수 많은 산을 넘고 에러를 넘고, 오류를 넘어야 하는 것은 각오를 해야 합니다. 그럼에도 불구하고 무척 매력적 입니다. 인고의 시간을 지나면 나는 상상력을 구현할수 있는 하나의 툴을, 도구를 장착할수 있는 것입니다. 아!이!언!맨! 처럼 말이지요!!!


카카오프로젝트 100은 게으른 저를 동기부여해 줍니다. 당장 통장에 계좌가 찍히는 일은 열심히 하게 되지만, 새로운것을 공부할 때는 의지가 참 약해지고 용두사미가 됩니다. 그런 의미에서 카카오프로젝트 100은 100일동안 의지를 불태울수 있는 작은 동기가 됩니다. 카카오프로젝트 시즌1에서는 자바스크립트 기초를 정리했습니다. 

시즌 2에서는 새로운 공부를 도전합니다. 바로 유!니!티!


여러분 생각은 어떤가요?