저는 유니티 스크립트와 화합에 익숙하지 않고 터치가 +100 터치가 시작될 때 애니메이션 트리거를 만들기 위해 노력하고 있습니다. +500 및 +1000을 시도했으며 터치가 100,500 또는 1000 이상 지나면 애니메이션이 재생되고 터치가 아닌 것 같습니다 .began 위치 + (금액), 도움을 주시면 감사하겠습니다. 시간을 내 주셔서 감사합니다. 나는 유니티 스크립트를 처음 사용합니다터치가 움직일 때 애니메이션을 움직이면 터치가 시작됩니다.
#pragma strict
var distance : float = 10;
var joystick : GameObject;
private var first : boolean = false;
function Start() {
}
function Update() {
transform.eulerAngles = Vector3(0,Camera.main.transform.eulerAngles.y + 180,0);
var v3Pos : Vector3;
if (Input.touchCount > 0 &&
Input.GetTouch(0).phase == TouchPhase.Began) {
// Get movement of the finger since last frame
var touchDeltaPosition:Vector2 = Input.GetTouch(0).position;
if(!first){
var touchdet : Vector2 = touchDeltaPosition;
first = true;
}
// Move object across XY plane
v3Pos = Vector3(touchDeltaPosition.x, touchDeltaPosition.y, distance);
transform.position = Camera.main.ScreenToWorldPoint(v3Pos);
}
if (Input.touchCount > 0 &&
Input.GetTouch(0).phase == TouchPhase.Moved) {
// Get movement of the finger since last frame
var touchAlphaPosition:Vector2 = Input.GetTouch(0).position;
// Move object across XY plane
v3Pos = Vector3(touchAlphaPosition.x, touchAlphaPosition.y, distance);
transform.position = Camera.main.ScreenToWorldPoint(v3Pos);
}
if (Input.touchCount > 0 &&
(Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled)) {
// Get movement of the finger since last frame
var touchBetaPosition:Vector2 = Input.GetTouch(0).position;
first = false;
// Move object across XY plane
v3Pos = Vector3(touchBetaPosition.x, 600, distance);
transform.position = Camera.main.ScreenToWorldPoint(v3Pos);
}
if(first)
{
if(touchAlphaPosition.x > touchdet.x + 100)
{
animation.Play("Right");
}
}
}
"어떻게해야합니까?"라는 질문보다 "내 코드에 어떤 문제가 있습니까?" – Justin