점프를 한번만 누를 수 있게 하려면 어떻게 해야할까요?
5217
작성한 질문수 1
점프가 계속 누를 수 있는 거를 막고 싶어요
답변 2
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
그런데 그라운드라는 이름을 가진 콜라이더를 밟으면 점프상태가 false가 되어 다시 점프가 가능해지는데
만약 점프하고 오브젝트 위에 올라가게 되면 계속 점프가 true상태라서 점프를 못하게되는거 아닌가요?
오브젝트가 하나라면 && 해서 추가하면 되겠지만 종류가 많다면 그것도 어려울거구요
0
tag 시스템으로 gorund tag 가 있으면 점프가 차게 할수 있습니다.
if (col.transform.tag == "ground")
{
isJumping = false;
}
Error CS0117: 'Input'에 'Getkey'에 대한 정의가 없습니다. (CS0117) (Assembly-CSharp)
0
180
2
ToString 에서 형식 목록 팝업 출력 기능은 어떻게 표시되게 하나요
0
334
0
다양한 함수 -3 첨부파일이 어디있나요?
1
331
0
피벗 포인트만 이동하려면?
0
375
0
하루 25번 제한 둘다 포함인가요? 개별인가요?
0
240
0
에니메이터에서 화면을 어떻게 조작하나요
0
278
0
버튼 안눌림
0
413
0
자동완성에 Debug가 안뜨는데 어뜨케하죠
0
254
0
손에서 발사되는 화살
0
432
0
클리커게임실습 리소스가누락되어있어요
0
313
1
충돌이 안됩니다
0
229
0
강의자료
0
320
0
궁금한게 있습니다.
0
279
0
오브젝트 지정에 대하여
0
266
0
Debug 입력해도 파란색으로 변하지 않습니다..
0
336
0
강의에서 사용하는 리소스는 어디서 다운로드 받나요?
0
344
0
다른 스프라이트는 있는데 arrow 스프라이트는 없어요..
2
357
1
2d뷰에서 3d뷰로 어떻게 전환하나요?
0
537
1
버튼 scoretext에 scoreup 함수가 안나오던데
0
354
1
????덮어쓰우기???? 스크립트 다운?????? 설명없이요...?????
0
299
0
요즘도 답변 해주시는지 모르겠네요.. 궁금한게 있습니다.
0
224
0
col.gameObject.name 부분 질문
1
299
0
소리가 안들리는 강의가 몇 개 있습니다
0
191
0
게임뷰화면의 질문입니다.
0
241
1





