0407 애니메이션 구현하기
2021. 4. 7. 14:35ㆍunity
using UnityEngine;
public class PlayerController : MonoBehaviour
{
Rigidbody2D rigid2D;
Animator animator;
float jumpForce = 340.0f;
float walkForce = 50.0f;
float maxWalkSpeed = 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.LeftArrow)) key = -1;
if (Input.GetKey(KeyCode.RightArrow)) key = 1;
//플레이어의 속도
float speedx = Mathf.Abs(this.rigid2D.velocity.x);
//스피드 제한
if (speedx < this.maxWalkSpeed)
{
this.rigid2D.AddForce(transform.right * key * this.walkForce);
}
//움직이는 방향에 따라 이미지 반전
if (key != 0)
{
transform.localScale = new Vector3(key, 1, 1);
}
//플레이어 속도에 맞춰 애니메이션 속도를 바꾼다.
this.animator.speed = speedx / 2.0f;
//애니메이션 재색 속도가 플레이어 이동 속도에 비례
}
}
using UnityEngine;
public class CameraController : MonoBehaviour
{
GameObject player;
// Start is called before the first frame update
void Start()
{
this.player = GameObject.Find("cat");
}
// Update is called once per frame
void Update()
{
//y축 방향으로만 카메라가 움직인다
Vector3 playerPos = this.player.transform.position;
transform.position = new Vector3(transform.position.x, playerPos.y, transform.position.z);
}
}
'unity' 카테고리의 다른 글
0407 점수 쌓이는 ui, 랜덤 발생 오브젝트, 클릭하는 곳으로 이동 (0) | 2021.04.08 |
---|---|
0407 3d 밤송이 던지기 (0) | 2021.04.07 |
0407 화살 피하기 게임 (0) | 2021.04.07 |
0407 오브젝트 호출, 거리 계산, ui 반영, 사운드 삽입 (0) | 2021.04.07 |
0405 오브젝트 회전시키기 (0) | 2021.04.05 |