신입 개발자 공부 과정

1/20 구름 점프하기 본문

Unity3D/공부

1/20 구름 점프하기

Lewisjkim 2022. 1. 20. 20:43

게임 설명 = 캐릭터를 스페이스바와 방향키로 점프하며 뛰어 넘어 골에 도착하는 게임

필요 소스 = 캐릭터, 구름, 깃발,배경, 클리어 화면


Game Play=


Code=

더보기

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

public class PlayerController : MonoBehaviour
{
    private Rigidbody2D rigid2D;
    Animator animator;
    float jumpForce = 680f;
    float walkForce = 30f;
    float maxWalfSpeed = 2.0f;
    // Start is called before the first frame update
    void Start()
    {
        this.rigid2D = GetComponent<Rigidbody2D>();
        this.animator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        //점프한다
        if(Input.GetKeyDown(KeyCode.Space))
        {
            this.rigid2D.AddForce(transform.up * this.jumpForce);
        }
        //좌우 이동
        int key = 0;
        if (Input.GetKey(KeyCode.RightArrow)) key = 1;//오른쪽 누르면 key값이 1이 되고
        Debug.Log("오른쪽");
        if (Input.GetKey(KeyCode.LeftArrow)) key = -1;//왼쪽 누르면 key값이 -1이 되고
        Debug.Log("왼쪽");

        //플레이어 속도
        float speedx = Mathf.Abs(this.rigid2D.velocity.x); //abs: absolute value
                                                           //velocity: Linear velocity of the rigidbody in  unit per second

        //스피드 제한
        if(speedx < this.maxWalfSpeed)
        {
            this.rigid2D.AddForce(transform.right * key * this.walkForce);
        }

        //움직이는 방향에 따라 반전한다
        if (key != 0)
        {
            transform.localScale = new Vector3(key, 1, 1);
        }

        //플레이어 속도에 맞춰 애니메이션 속도를 바꾼다
        this.animator.speed = speedx / 2.0f;
    }
}

'Unity3D > 공부' 카테고리의 다른 글

01/17-Unity  (0) 2022.01.17