using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class PlayerActorDos : MonoBehaviour

{

ย  ย  public float m_fMoveConst = 1.0f;

ย  ย  public float m_fJumpConst = 1.0f;

ย  ย  public bool m_bIsGround = true;


ย  ย  Rigidbody2D rigid = null;


ย  ย  private void Awake()

ย  ย  {

ย  ย  ย  ย  rigid = this.gameObject.GetComponent<Rigidbody2D>();

ย  ย  }


ย  ย  void FixedUpdate()

ย  ย  {

ย  ย  ย  ย  if (Input.GetKey(KeyCode.LeftArrow))

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  this.gameObject.transform.Translate(new Vector3(-m_fMoveConst * Time.deltaTime, 0.0f, 0.0f));

ย  ย  ย  ย  }


ย  ย  ย  ย  if (Input.GetKey(KeyCode.RightArrow))

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  this.gameObject.transform.Translate(new Vector3(m_fMoveConst * Time.deltaTime, 0.0f, 0.0f));

ย  ย  ย  ย  }


ย  ย  ย  ย  if (Input.GetKeyDown(KeyCode.Space))

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  DoJump();

ย  ย  ย  ย  }


ย  ย  ย  ย  if (m_bIsGround == false && rigid.velocity.y <= 0.0f)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  if (Physics2D.Raycast(this.transform.position, Vector3.down, 1.5f, 1 << 10))

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  m_bIsGround = true;

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }

ย  ย  }


ย  ย  void DoJump()

ย  ย  {

ย  ย  ย  ย  if (m_bIsGround == false)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return;

ย  ย  ย  ย  }

ย  ย  ย  ย  rigid.AddForce(Vector2.up * m_fJumpConst, ForceMode2D.Impulse);

ย  ย  ย  ย  m_bIsGround = false;

ย  ย  }

}




๋ ˆ์ด์บ์ŠคํŠธ๋กœ ์ฐฉ์ง€ ์—ฌ๋ถ€ ํ™•์ธ ํ›„ ๋‹ค์‹œ ์ ํ”„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ


๋ฌธ์ œ๊ฐ€ ์ ํ”„ ์กฐ์ž‘๊ฐ์ด ๋ญ”๊ฐ€ ์ข†๊ตฌ๋ฆฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค... ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๊ด‘ํดํ•ด๋„ ๋•…์— ๋‹ฟ์•˜๋Š”๋ฐ 0.1์ดˆ ๊ฐ€๋Ÿ‰ ์ ํ”„๊ฐ€ ์•ˆ๋˜๊ฑฐ๋‚˜ ํ˜น์€ ์•ฝ๊ฐ„ ๋”œ๋ ˆ์ด๊ฐ€ ์žˆ๋Š” ๋А๋‚Œ?


๋””๋ฒ„๊น…์‚ผ์•„์„œ ์ŠคํŽ˜์ด์Šค๋ฐ” ๋ˆŒ๋ ธ์„๋•Œ ๋ผ๋Š” ์กฐ๊ฑด์„ ๋นผ๊ณ  ์—…๋ฐ์ดํŠธ๋ฌธ์—์„œ ๋Œ๋ฆฌ๋ฉด ์—ฐ์†์ ์œผ๋กœ ์ ํ”„๋ฅผ ์ž˜ ํ•˜๋Š”๋ฐ ์‚ฌ๋žŒ์ด ์กฐ์ž‘ํ•˜๊ธฐ์—” ์กฐ์ž‘๊ฐ์ด ๋„ˆ๋ฌด ๊ตฌ๋ ค์„œ ๊ทธ๋Ÿฐ๋ฐ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ?




๋””์ž์ด๋„ˆ ์ธ๋ถ•์ด๋ฅผ ์‚ด