inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

유니티 게임 개발 (Unity 2D) - 시작부터 배포까지

러닝게임 제작 실습 3

점프를 한번만 누를 수 있게 하려면 어떻게 해야할까요?

5206

서정민

작성한 질문수 1

0

점프가 계속 누를 수 있는 거를 막고 싶어요

unity

답변 2

0

서정민

감사합니다

0

스터디 인코딩

안녕하세요!

점프를 bool 변수로 컨트롤 하는 방법이 있습니다.

isJumping 이라는 변수가 false 일 때만 점프를 하도록 하고, 땅에 닿는 순간 isJumping 을 다시 false 로 바꿔주는 방법입니다.

간단히 아래 코드를 적어드릴 테니 참고하세요 :)

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Jump : MonoBehaviour {

bool isJumping = false;

void Update() {

if (Input.GetKeyDown (KeyCode.Space)) {

if (isJumping == false) {

isJumping = true;

GetComponent<Rigidbody2D> ().AddForce (Vector3.up * 300f);

}

}

}

void OnCollisionEnter2D(Collision2D col) {

if (col.transform.name == "Ground") {

isJumping = false;

}

}

}

0

tmddnr8840

그런데 그라운드라는 이름을 가진 콜라이더를 밟으면 점프상태가 false가 되어 다시 점프가 가능해지는데 

만약 점프하고 오브젝트 위에 올라가게 되면 계속 점프가 true상태라서 점프를 못하게되는거 아닌가요?

오브젝트가 하나라면 && 해서 추가하면 되겠지만 종류가 많다면 그것도 어려울거구요

0

hjcho

tag 시스템으로 gorund tag 가 있으면 점프가 차게 할수 있습니다.

if (col.transform.tag == "ground")

{

isJumping = false;

}

Error CS0117: 'Input'에 'Getkey'에 대한 정의가 없습니다. (CS0117) (Assembly-CSharp)

0

158

2

ToString 에서 형식 목록 팝업 출력 기능은 어떻게 표시되게 하나요

0

321

0

다양한 함수 -3 첨부파일이 어디있나요?

1

317

0

피벗 포인트만 이동하려면?

0

360

0

하루 25번 제한 둘다 포함인가요? 개별인가요?

0

230

0

에니메이터에서 화면을 어떻게 조작하나요

0

271

0

버튼 안눌림

0

405

0

자동완성에 Debug가 안뜨는데 어뜨케하죠

0

240

0

손에서 발사되는 화살

0

417

0

클리커게임실습 리소스가누락되어있어요

0

299

1

충돌이 안됩니다

0

221

0

강의자료

0

315

0

궁금한게 있습니다.

0

272

0

오브젝트 지정에 대하여

0

253

0

Debug 입력해도 파란색으로 변하지 않습니다..

0

331

0

강의에서 사용하는 리소스는 어디서 다운로드 받나요?

0

339

0

다른 스프라이트는 있는데 arrow 스프라이트는 없어요..

2

347

1

2d뷰에서 3d뷰로 어떻게 전환하나요?

0

524

1

버튼 scoretext에 scoreup 함수가 안나오던데

0

338

1

????덮어쓰우기???? 스크립트 다운?????? 설명없이요...?????

0

289

0

요즘도 답변 해주시는지 모르겠네요.. 궁금한게 있습니다.

0

214

0

col.gameObject.name 부분 질문

1

293

0

소리가 안들리는 강의가 몇 개 있습니다

0

188

0

게임뷰화면의 질문입니다.

0

234

1