-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
점프를 한번만 누를 수 있게 하려면 어떻게 해야할까요?
18.07.23 16:56 작성 조회수 4.53k
0
점프가 계속 누를 수 있는 거를 막고 싶어요
답변을 작성해보세요.
0
0
스터디 인코딩
지식공유자2018.07.26
안녕하세요!
점프를 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;
}
}
}
tmddnr8840
2022.07.19
그런데 그라운드라는 이름을 가진 콜라이더를 밟으면 점프상태가 false가 되어 다시 점프가 가능해지는데
만약 점프하고 오브젝트 위에 올라가게 되면 계속 점프가 true상태라서 점프를 못하게되는거 아닌가요?
오브젝트가 하나라면 && 해서 추가하면 되겠지만 종류가 많다면 그것도 어려울거구요
hjcho
2022.09.29
tag 시스템으로 gorund tag 가 있으면 점프가 차게 할수 있습니다.
if (col.transform.tag == "ground")
{
isJumping = false;
}
답변 2