일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- premake5
- 렌더몽키
- 화살피하기
- 표창던지기
- 다중상속
- Unity
- uidesign
- 화살표 함수
- python
- rendermonkey
- swipe
- 이득우언리얼
- 공부
- c#
- IMGUI
- 이득우
- 화살표 메서드
- 그림자 효과
- 언리얼
- visualstudio2022
- 가변배열
- C++
- 유니티
- 비주얼스튜디오
- 배열문제
- 3차원배열
- 셰이더
- 파이썬
- c++class
- 게임만들기
- Today
- Total
신입 개발자 공부 과정
1/20 구름 점프하기 본문
게임 설명 = 캐릭터를 스페이스바와 방향키로 점프하며 뛰어 넘어 골에 도착하는 게임
필요 소스 = 캐릭터, 구름, 깃발,배경, 클리어 화면
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 |
---|