728x90
반응형
주위 배경을 위해서 Background 텍스쳐 파일을 하이 라키 뷰에 올리고 중앙에 맞춥니다
그리고 텍스쳐 스케일을 카메라뷰보다 넓게 4,4,1로 맞춥니다
새로운 오브젝트를 생성하고 이름을 CameraFollow 라 합니다
CameraFollow 오브젝트의 자식으로 Main Camera를 옮겨다 놓습니다
CameraFollow 스크립트를 작성합니다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFollow : MonoBehaviour
{
//Player 포지션
public Transform playerTransform;
public float speed;
public float minX;
public float maxX;
public float minY;
public float maxY;
// Start is called before the first frame update
void Start()
{
//Player 포지션을 가지고 온다
transform.position = playerTransform.position;
}
// Update is called once per frame
void Update()
{
if (playerTransform != null)
{
//화면의 X축의 최대점과 최소점을 넘지않게 설정
float clampedX = Mathf.Clamp(playerTransform.position.x, minX, maxX);
//화면의 Y축의 최대점과 최소점을 넘지않게 설정
float clampedY = Mathf.Clamp(playerTransform.position.y, minY, maxY);
//카메라를 clampedX,clampedY 방향으로 speed 속도를 부드럽게 이동
transform.position = Vector2.Lerp(transform.position,new Vector2(clampedX,clampedY), speed);
}
}
}
Player 오브젝트를 드래그하여 Player Transform 빈 공간에 드래그하여 붙이고 speed를 0.12 정도 합니다
CameraFollow오브젝트를 X 쪽으로 -11 만큼 움직입니다 카메라가 배경 보이는 끝선에 맞춤니다
그리고 Min X 에 -11을 넣습니다
CameraFollow를 x축으로 그림영역 최댓값에 맞추고 MaxX를 11을 넣습니다
CameraFollow를 y축으로 그림영역 최솟값에 맞추고 MinY를 -7을 넣습니다
CameraFollow를 y축으로 그림영역 최댓값에 맞추고 MaxY를 5를 넣습니다
하이라키뷰에 Stoper오브젝트 4개를 생성합니다
Stoper 오브젝트에 BoxCollider2D를 붙이고 각각 위치를 배경 끝에 놓습니다
Player 오브젝트에 BoxCollider2D 를 붙입니다
게임을 실행하여 Player의 움직임에 Camera가 따라가고 배경의 보이는 부분까지만 Player가 제한되는 움직임을 보입니다
반응형
'게임 만들기 강좌 > 유니티2D액션게임만들기' 카테고리의 다른 글
2D 액션 게임 만들기 6 적캐릭터 만들기 및 움직이기 (1) | 2021.03.24 |
---|---|
2D 액션 게임 만들기 4 Particle Effect 만들기 (0) | 2021.02.22 |
2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) (0) | 2021.02.05 |
2D 액션 게임 만들기 2 weapon (총) 회전 시키기 (0) | 2021.02.01 |
2D 액션 게임 만들기 1 캐릭터 애니메이션 및 캐릭터 움직이기 Sprite animation (0) | 2021.01.23 |