ย using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
ย ย Rigidbody2D rbody;
ย ย float axisH = 0.0f;
ย ย public float speed = 3.0f;
ย ย // Start is called before the first frame update
ย ย void Start()
ย ย {
ย ย ย ย rbody = this.GetComponent<Rigidbody2D>();
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย ย ย axisH = Input.GetAxisRaw("Horizontal");
ย ย ย ย if (axisH > 0.0f)
ย ย ย ย {
ย ย ย ย ย ย Debug.Log("์ค๋ฅธ์ชฝ ์ด๋");
ย ย ย ย ย ย transform.localScale = new Vector2(1, 1);ย
ย ย ย ย }
ย ย ย ย else if (axisH < 0.0f)
ย ย ย ย {
ย ย ย ย ย ย Debug.Log("์ผ์ชฝ์ด๋");
ย ย ย ย ย ย transform.localScale = new Vector2(-1, 1);
ย ย ย ย }
ย ย }
ย ย void FixedUpdate()
ย ย {
ย ย ย ย rbody.velocity = new Vector2(speed * axisH, rbody.velocity.y);
ย ย }
}
์ด๊ฑฐ ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ทธ๋๋ก์ผ ใ ใ
์ด๋ฏธ์ง ํ์ผ ํฌ๊ธฐ๋ ํ์ธํจ?
ํ์ง 192x48 ์ด๋ผ 64x64๋ก ๋๋ ์ 4์ฅ์ผ๋ก animation์ผ๋ก ๋ง๋ค๋ ค๊ณ
ํ๋ ค์ ์ ์๋ณด์ด๊ธด ํ๋๋ฐ ์ฒจ์ ๋ฉ๋ฉ์ด ์ค์ผ์ผ์ด 4.xx์ ๋ ๋์ง ์์? ๊ทผ๋ฐ ์์ง์ผ๋ ์ข์ฐ ๋ฐ์ ์ํจ๋ค๊ณ ์ค์ผ์ผ์ 1, -1๋ก ๋ฐ๊ฟ์ ์ค์ด๋ ๊ฒ ๊ฐ์
ํฐ ๋ฉ๋ฉ์ด๊ฐ ์์ง์ผ๋ ๊ฐ์๊ธฐ ์ฝฉ์๋งํด์ง๋๊ฒ ๋ ์๊ฒผ๋ค ใ ใ ใ
ใ ใ ใ ใ ใ ใ ์ ๋๋ ์๊ฒจ์ ์ฃฝ๋์ค ์ ์ฒจ์ ๊ทผ๋ฐ ์ด ๋ฒ๊ทธ๊ฐ 2์ผ์งธ ์ง์์ด๋ผ ๋ฏธ์น ๊ฑฐ ๊ฐ์์ ใ ใ ใ ใ
๊ทธ๋ฌ๋ฉด ์ค์ผ์ผ์ 2 -1๋ก ์ค๋ณผ๊น
์๋ ๊ทธ๋ฅ ๊ทธ๋ ๊ฒ ํ๋ฉด ์๋์ง.. ํ์ฌ ์ธ์คํํฐ์์ ๋ณด์ด๋ ์ค์ผ์ผ๊ฐ์ด localscale์ด์์ ๊ฑฐ๊ธฐ์ x์ถ์ผ๋ก๋ง -1์ ๊ณฑํด์ ์ผ์ชฝ์ผ๋ก ํ์ ํ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํด์ผ ํ๋๊น ์๋ ์ค์ผ์ผ๊ฐ์ด 4.5, 4,5, 1ใ l๋ฉด ์ผ์ชฝ์ผ๋ก ๊ฐ๋๋ -4.5, 4.5, 1๋ก ํด์ผ์ง x์ถ๋ง ๋ฐ๋ก -1์ ๊ณฑํด์ฃผ๊ฑฐ๋ ์๋ ์์ ์ ์ญ๋ณ์๋ก ์ผ์ชฝ์ผ๋ก ์ด๋ํ ๋์ ์ค์ผ์ผ, ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ ๋์ ์ค์ผ์ผ๊ฐ์ leftScale, rightScale๋ก ๋ง๋ค์ด๋ฌ์ ์ฌ์ฉํ๋ ์ง ํด
๋ก์ปฌ์ค์ผ์ผ์ด 1์ด์๋ค์ ใ ใ 7๋ก ๋ฐ๊พธ๋๊น ํด๊ฒฐ ๋์ด์ ๊ฐ์ฌํฉ๋๋ค
์๋์ค์ผ์ผ์ด 1์ด ์๋์๊ฑฐ๋, ์ ๋๋ฉ์ด์ ์์ฒด์ scale์ด 1์ด ์๋ ์ข๋ ํฐ๊ฐ์ธ๊ฑฐ๊ฐ์๋
๋ ์ด๋ฐํ์ ์คํ2์์ ๋ณธ์ ์๋๊ฒ๊ฐ์ด
๊ฑ ์ฝ๋๋ ๋ฉ์ฉกํ๋ฐ ์ธ์คํํฐ ์ฐฝ์์ ๊ฐ ์์ ํด๋์๊ฑฐ ์๋? - dc App