์˜ค๋ฅ˜๋Š” ํ•ด๊ฒฐ ํ•ด์„œ ์ด์ œ ์‹คํ–‰์€ ๋˜๋Š”๋ฐ ๊ทธ๋ž˜๋„ ์Šคํ‹ฑ ์ธ์‹์ด..


๊ทธ๋ž˜์„œ ํ•จ ์ฝ”๋“œ ๋‚จ๊ฒจ๋ด„..


๋‚ด๊ฐ€ ย ๊ตฌํ˜„ํ•œ ๋ฐฉ๋ฒ•์€


public class PlayerController : MonoBehaviour

{

ย  ย ย 

ย  ย  [HideInInspector]

ย  ย  public bool isFacingRight = true; //์บ๋ฆญํ„ฐ๊ฐ€ ์˜ค๋ฅธ์ชฝ์„ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š”๊ฐ€.


ย  ย  //[HideInInspector]

ย  ย  public bool isJumping = false; //์ง€๋ฉด์— ์ฐฉ์ง€ํ•œ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ ํ”„์ค‘์ด๊ฑฐ๋‚˜ ๋‚™ํ•˜์ค‘ ํ•˜๋‚˜์ผ ๊ฒƒ์ž„. ์ง€๊ธˆ์˜ ์ƒํƒœ๊ฐ€ ์ ํ”„์ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ bool.


ย  ย  //[HideInInspector]

ย  ย  public bool isGrounded = false; //์ง€๋ฉด์— ์ฐฉ์ง€ํ•œ ์ƒํƒœ์ธ๊ฐ€?


ย  ย  public float jumpForce = 250.0f; //์ ํ”„์˜ ํž˜

ย  ย  public float maxSpeed = 4.0f; //์ด๋™์‹œ ์ตœ๊ณ  ์†๋„์˜ ๊ฐ’

public int check = 0;

ย  ย ย 







ย  ย  public void Update()

ย  ย  {


ย  ย  public void FixedUpdate()

ย  ย  {

ย  ย  ย  ย ย if (isGrounded)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  isJumping = false;

ย  ย  ย  ย  }


๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋‰ด์— ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ > UI > ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค์Œ ์™ผ์ชฝ๋ฒ„ํŠผ์—์„œ Event trigger ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ PointerDown ์ถ”๊ฐ€ํ•ด์„œ

leftDownํ•จ์ˆ˜ ์ถ”๊ฐ€ํ•ด์„œ ๋ˆŒ๋ฅด๊ณ ์žˆ์œผ๋ฉด check = 1 ๊ทธ๋ฆฌ๊ณ  Up๋„ ์ถ”๊ฐ€ํ•ด์„œ ์ฒดํฌ์— 2 ์ด๋ ‡๊ฒŒ ๊ณ„์† ์˜ค๋ฅธ์ชฝ๋„ ๋˜‘๊ฐ™์ดํ•ด์ฃผ๊ณ  ๊ทธ๋‹ค์Œ fixedupdate์—์„œ ์ด์ œ if๋กœ ๊ฐ ์ฒดํฌ ๊ฐ’ ์ฒดํฌํ•ด์„œ velocity๋กœ ์›€์ง์ด๊ฒŒ ํ•ด์คฌ์Œ..

if(check == 1)

{

rb.velocity = new Vector2(1 * maxSpeed, rb.velocity.y);

}

if(check == 2)

{

rb.velocity = new Vector2(0,rb.velocity.y);

}

} // ์ง€๊ธˆ์€ ์™ผ์ชฝ๋งŒ ์“ด๊ฑด๋ฐ ์˜ค๋ฅธ์ชฝ๋„ ์ด๋Ÿฐ์‹์œผ๋กœ ํ•ด์„œ ์›€์ง์—ฌ์คฌ์–ด.


}

public void leftDown()

{

check = 1;

}

public void leftUp()

{

check = 2;

}

public void rightDown()

{

check = 3;

}

public void rightUp()

{

check = 4;

}

}


ย ย 

ย  ย  ย 

}