2017-05-08 12 views
0

나는 마리오 메이커 스타일의 게임을 모두 그리드에 맞추어야하는 C# (화합)으로 만들고 있습니다. 원하는 항목을 드래그하는 동안 항목을 각 int에 가장 가까운 위치에 놓습니다.마우스 상수 업데이트로 반올림 위치 고정

void FixedUpdate() { 
     Vector2 pos = Input.mousePosition; 
     pos.x = Mathf.Round(pos.x); 
     pos.y = Mathf.Round(pos.y); 
     pos = Camera.main.ScreenToWorldPoint (pos); 
     transform.position = pos; 
} 

이것은 나를 위해 작동하지 않으며, 이것을 해결하기 위해 몇 시간 동안 노력해 왔습니다. 지금까지 도움이 된 것은 없습니다. 아무런 도움이되지 못하는 모든 포럼을 살펴 보았습니다. 도와주세요!!

+1

안녕하세요, 문제가 해결 되었다면 답글을 포함하도록 질문 게시글을 수정하지 마세요. 대신 문제가 무엇인지 밝혀 내고 문제를 해결 한 방법에 대한 세부 정보 아래에 답을 게시하십시오. – Serlite

+0

@Serlite 죄송합니다! – racorse

답변

2

픽셀 pos를 월드 위치로 변경 한 후에 값을 반올림해야한다고 생각합니다. 내 말은, 이후 pos = Camera.main.ScreenToWorldPoint (pos);

결과를 알려주세요. 작동하지 않으면 다른 시도라고 생각합니다.

+0

아하! 네가 그걸 제출했을 때 나는 그것을 알아 냈다! 답장을 보내 주셔서 감사 드리며, 가장 효과적이었습니다. 그것을 파악하기 위해 잠을 좀 필요했습니다. – racorse

0

마우스 위치가 변경된 후 둥근 위치를 업데이트하십시오.

void FixedUpdate() { 
    Vector2 pos = Input.mousePosition; 
    pos = Camera.main.ScreenToWorldPoint (pos); 
    pos.x = Mathf.Round(pos.x); 
    pos.y = Mathf.Round(pos.y); 
    transform.position = pos; 
}