DestroyZone Player가 못나가게 하기
1. 충돌체를 두고 벗어나지 못하게 -> 덜덜떨리는 현상때문에 안됨 Player + (rigidbody)
2. 떨어졌을때 위치 체크 후 벗어나지 않게 x 축 -3~3 동안에
// PlayerMove
void Update()
{
Vector3 myPos = transform.position;
myPos += dir * speed * Time.deltaTime;
// 만약 플레이어 x 위치가 -4.3 보다 작을 때, +4.3보다 클 때 화면을 벗어나지 않도록 하고 싶다
// 플레이어 x 위치
// x 값이 -4.3 보다 작다면
if (myPos.x < -4.3)
{
//x 값을 -4.3으로 하자
myPos.x = -4.3f;
}
else if (myPos.x > 4.3f)
{
// 만약 x의 위치가 +4.3 보다 클 때
// x 값을 4.3으로 하자
myPos.x = 4.3f;
}
transform.position = myPos;
}
3. 동적으로 화면 해상도를 찾아서
[유니티] 게임 오브젝트가 화면 밖으로 못 나가게 하기
viewportToViewportPoint
3-1. World
3-2. Screen
같은 공간으로 가져와야 한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 사용자 입력에 따라 상하좌우로 이동하고 싶다.
// 필요속성 : 이동속도
public class PlayerMove : MonoBehaviour
{
// 필요속성 : 이동속도
float speed = 5;
float width;
// Start is called before the first frame update
void Start()
{
float height = Camera.main.orthographicSize * 2;
float meterPerPixel = height / Screen.height;
width = Screen.width * meterPerPixel * 0.5f - 0.5f;
}
// Update is called once per frame
void Update()
{
// 사용자 입력에 따라 상하좌우로 이동하고 싶다.
// 1. 사용자의 입력에 따라
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
// 2. 방향이 필요
Vector3 dir = Vector3.right * h + Vector3.up * v;
dir.Normalize();
// 3. 이동하고 싶다.
// P = P0 + vt
Vector3 myPos = transform.position;
myPos += dir * speed * Time.deltaTime;
// 만약 플레이어 x 위치가 -4.3 보다 작을 때, +4.3보다 클 때 화면을 벗어나지 않도록 하고 싶다
// 플레이어 x 위치
/*
// x 값이 -4.3 보다 작다면
if (myPos.x < -4.3)
{
//x 값을 -4.3으로 하자
myPos.x = -4.3f;
}
else if (myPos.x > 4.3f)
{
// 만약 x의 위치가 +4.3 보다 클 때
// x 값을 4.3으로 하자
myPos.x = 4.3f;
}
transform.position = myPos;
*/
myPos.x = Mathf.Clamp(myPos.x, -width, width);
transform.position = myPos;
}
}
씬 전환
이벤트 트리거
GameManager
// 필요속성 : 현재상태, Ready, Start, Playing, GameOver
//저장은 하지만 노출되지 않는다
//[HideInInspector]
[System.NonSerialized]
public int m_State;
CS -> 컴파일 IL dLL 보안이슈 (저장하고 불러온다.)
apk 디컴파일 했을때 소스코드 다 볼 수 있음
그래서 보안이슈가 생김 .(변수랑 함수를 암호화 - Offuscater?)
728x90
'유니티 > 인생유니티교과서' 카테고리의 다른 글
07/26 (0) | 2022.07.26 |
---|---|
07/20 (0) | 2022.07.20 |
3.1 프로토타입 버전 제작 (0) | 2022.07.19 |
07/15 (0) | 2022.07.15 |
34-40 총알쏘는 Enemy 만들기 (0) | 2022.07.14 |