
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
flipx 와 localscale로 x축 변환하는것은 어떤 차이점이 있나요? 또 if문을 여러개 사용하셨는데, else if로 밑의 부분을 바꾸어도 잘 실행이 됩니다. 굳이 if문을 여러개 사용하신 이유가 있을가요?
작성한 코드 및 에러 메세지
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rtan : MonoBehaviour
{
float Dir = 0.05f;
float toward = 1.0f;
SpriteRenderer sRenderer;
void Start()
{
sRenderer = GetComponent<SpriteRenderer>();
}
void Update()
{
if (transform.position.x > 2.8f)
{
Dir = -0.05f;
sRenderer.flipX = (Dir < 0);
}
if (transform.position.x < -2.8f)
{
Dir = 0.05f;
sRenderer.flipX = (Dir < 0);
}
if (Input.GetMouseButtonDown(0))
{
Dir *= -1;
sRenderer.flipX = (Dir < 0);
}
//혹은
/*
if (Input.GetMouseButtonDown(0))
{
toward *= -1;
Dir *= -1;
}
if (transform.position.x > 2.8f)
{
Dir = -0.05f;
toward = -1.0f;
}
if (transform.position.x < -2.8f)
{
Dir = 0.05f;
toward = 1.0f;
}
transform.localScale = new Vector3(toward, 1, 1);
}
*/
void FixedUpdate()
{
transform.position += new Vector3(Dir, 0, 0);
}
}
