강의로 돌아가기
평행우주진구

delta를 이용 안 하고...

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Obstacle : MonoBehaviour {

float delta = 0.1f;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
float newXposition = transform.position.x + delta;
transform.position = new Vector3(newXposition, 0, -10);

if (transform.position.x > 3)
{
newXposition = transform.position.x - delta;
}
else if (transform.position.x < -1)
{
newXposition = transform.position.x + delta;
}
}
}

이렇게 했더니 그냥 계속 가요.. 제 이해 부족이 어느 부분의 부족인 지가 궁금합니다.

  • 평행우주진구
    2 그리고 줄이나 엔터 등 정석이 있나요? if 문 옆에 대괄호를 안 넣고 밑에 넣으면 깔끔하길래... (이건 복붙해서 무너진 거고요!) 평행우주진구 2018.09.30 09:02
  • 평행우주진구
    결국 delta로 해결하기는 했는데 내용 안에 질문은 여전히 궁금합니다. 평행우주진구 2018.09.30 09:02
  • 평행우주진구
    3 만들고서 계속 실행중인데, 공이 통과할 때도 있고, 통과하지 못할 때도 있습니다. 어떻게 이런 무작위 결과가 나오는 건가요? 컴퓨터는 오차가 없을 줄 알았는데... 평행우주진구 2018.09.30 09:04
1 개의 답변
Wonjung Cho

3보다 크면 방향을 바꾸라고 했는데 값이 감소해서 계속 한쪽방향으로 가는 것 같아요.
if (transform.position.x > 3)
{
newXposition = transform.position.x - delta; <-- 여기 마이너스를 플러스로 바꾸면 될 것 같네요.
}

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.