현재 Unity에서 2d Platformer를 만들려고합니다. 단 한 가지를 제외하고는 모두 잘 작동합니다. Left 또는 Right를 밀면 내 스프라이트 애니메이션이 올바른 방향으로 반사됩니다. 나는 현재 컨트롤러 입력을 추가하려하고 있지만 아날로그 좌/우를 밀어 넣는 것을 목표로하는 것 같지 않습니다. 스틱을 오른쪽으로 밀 때 거울을 비추고 반대의 경우도 마찬가지입니다.Unity 2d 플랫폼 컨트롤러 지원
희망 누군가가 나를 도울 수 :
#pragma strict
var X : float;
function Start() {
//Gathering normal object scale
X = transform.localScale.x;
}
function Update() {
if(Input.GetKey("a")) {
// Gamer pushes left arrow key
// Set texture to normal position
transform.localScale.x = -X;
}
else if (Input.GetKey("d")) {
// Gamer pushes right arrow key
// Flip texture
transform.localScale.x = X;
}
if(Input.GetKey("left")) {
// Gamer pushes left arrow key
// Set texture to normal position
transform.localScale.x = -X;
}
else if (Input.GetKey("right")) {
// Gamer pushes right arrow key
// Flip texture
transform.localScale.x = X;
}
if(Input.GetAxis("Horizontal")) {
// Gamer pushes left arrow key
// Set texture to normal position
transform.localScale.x = -X;
}
else if (Input.GetAxis("Horizontal")) {
// Gamer pushes right arrow key
// Flip texture
transform.localScale.x = X;
}
}
안녕하세요, 네, 이해가됩니다. 현재 수업 중이므로 컨트롤러로 스크립트를 테스트 할 수있는 기회가 없습니다. 따라서이 스크립트는 가로가 0보다 왼쪽으로 이동하고 가로가 0보다 큰 경우 오른쪽으로 이동한다는 것을 의미합니까? 화합은 내 왼쪽 아날로그가 입력임을 자동적으로 이해합니까? 이 외에도 유선 컨트롤러의 D 패드를 입력 단원에 추가했습니다. 그리고 그것은 작동하지만, 2 개의 수평축을 추가해야합니다. 하나는 D 패드의 왼쪽 화살표 용이고 다른 하나는 오른쪽 용입니다. –
@QuincyNorbert Yeh 전 어떻게 입력을 설정했는지 알지 못하지만 아래 링크를 읽으면 도움이되는지 알 수 있습니다. http://docs.unity3d.com/Documentation/ScriptReference/Input.GetAxis .html 자신 만의 맞춤형 패드를 만들었습니까? – Savlon
나는 당신의 방법을 시도하고 지금은 많이 감사하고 일하고있다! 나는 이것을 한 번 시도했지만 else if 문에> 0을 추가하는 것을 잊었다. –