[고1 게임엔진] 09 - (1)

2023. 9. 4. 15:01·고1/게임엔진

Move_Flip

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

public class Move_Flip : MonoBehaviour
{
    // 좌우반전
    // 전역변수 선언

    Rigidbody2D rb;
    public float speed = 5;  // 좌우이동시 이동 속도
    public float power = 5; // 점프력

    float vx = 0;   // 좌우방향키 누르고있는지 여부(오른쪽 +1, 왼쪽 -1)

    bool isJumping = false; // 점프여부

    bool groundFlag = false; // 발이 무언가에 닿아있는지 여부

    void Start() // 유니티 실행하자마자 처음 한번만 실행. 초기화
    {
        // 리지드바디 컴포넌트 가져오기
        rb = GetComponent<Rigidbody2D>();

        // 충돌후 회전시키지 않기
        rb.constraints = RigidbodyConstraints2D.FreezeRotation;
    }


    void Update() // 판정
    {
        vx = 0; // 초기화 (방향키 안눌렸을때는 정지하기)
        // 좌우방향키 눌림 여부
        if (Input.GetKey("right"))
        {
            vx = 1;
        }
        else if (Input.GetKey("left"))
        {
            vx = -1;
        }

        // 스페이스키 눌려지면서 오브젝트가 지면에 있을때만 점프가능
        if (Input.GetKey("space") && groundFlag==true)
        {
            isJumping = true;
        }
        else
        {
            isJumping = false;
        }
    }

    void FixedUpdate() // 실제 행동(물리력이용)
    {
        // 좌우방향 이동
        rb.velocity = new Vector2(vx * speed, rb.velocity.y);
        Debug.Log(rb.velocity.y);

        // 반전하기
        if(vx != 0)
        {
            transform.localScale = new Vector2(vx, 1);
        }

        // 점프하기
        if (isJumping)
        {
            rb.AddForce(transform.up*power, ForceMode2D.Impulse);
            isJumping = false;
        }
    }

    void OnTriggerStay2D(Collider2D collision)
    {
        groundFlag = true;
    }
    void OnTriggerExit2D(Collider2D collision)
    {
        groundFlag = false;
    }
}
저작자표시 (새창열림)

'고1 > 게임엔진' 카테고리의 다른 글

[고1 게임엔진] 09 - (3)  (0) 2023.09.13
[고1 게임엔진] 09 - (2)  (3) 2023.09.11
[고1 게임엔진] 08 - (1)  (0) 2023.08.30
[고1 게임엔진] 08 - (3)  (0) 2023.08.30
[고1 게임엔진] 08 - (2)  (0) 2023.08.28
'고1/게임엔진' 카테고리의 다른 글
  • [고1 게임엔진] 09 - (3)
  • [고1 게임엔진] 09 - (2)
  • [고1 게임엔진] 08 - (1)
  • [고1 게임엔진] 08 - (3)
백학도령
백학도령
  • 백학도령
    백학도령
  • 전체
    오늘
    어제
  • 공지사항

    • 유용한 청년
    • 목록 (110)
      • 웹디자인개발기능사 (5)
      • 티스토리 (1)
      • 고3 (5)
        • 응용 프로그래밍 (2)
        • 데이터베이스 (1)
        • 성공적인 직업생활 (1)
        • 비즈니스 영어 (1)
      • 고2 (40)
        • 문학 (4)
        • 수학 (4)
        • 인공지능 수학 (1)
        • 통합사회 (4)
        • 영어 (6)
        • 한국사 (6)
        • 일본어 (4)
        • 응용 프로그래밍 (3)
        • 게임 프로그래밍 (4)
        • 자료 구조 (4)
      • 고1 (59)
        • 국어 (4)
        • 수학 (4)
        • 과학 (4)
        • 영어 (4)
        • 프로그래밍 (16)
        • 화면구현 (11)
        • 게임엔진 (15)
        • 인공지능 (1)
  • hELLO· Designed By정상우.v4.10.3
백학도령
[고1 게임엔진] 09 - (1)
상단으로

티스토리툴바