Unity2D: увеличение границы игрока при максимизации в игре - PullRequest
0 голосов
/ 24 мая 2018

Я создал границу, чтобы игрок не мог покинуть определенную область в моей игре, я создал эту границу, добавив куб в свою сцену и создав скрипт, который адаптирует куб к половине размера камеры (в обновлении).В скрипте моего игрока у меня есть функция, которая не позволяет моему игроку покинуть границу куба.Он работает отлично, даже когда я изменяю ширину моего редактора, однако, когда я играю в игру с «максимизировать в игре», ширина границы увеличивается, а не делится на половину границы до моего предпочтительного размера.Я волнуюсь по этому поводу, потому что хочу поставить свою игру на мобильный телефон, я не уверен, что максимальное увеличение при игре соответствует мобильному размеру или игра в редакторе нормального размера больше подходит для обычного телефона Android?Спасибо!

Сценарий границы:

public BoxCollider2D cube;
void Start()
{
    cube.size = new Vector2 (240, 0.4f);  //240
}
void Update()
{
    float height = Camera.main.orthographicSize * 1.3f;
    float width = height * Screen.width/ Screen.height; // basically height * screen aspect ratio
    cube.transform.localScale = new Vector3(width/10f, width/11f, width/10f);
    Debug.Log (width);
} 

НОВОЕ ОБНОВЛЕНИЕ

Скрипт игрока:

public BoxCollider2D cube;
public float moveSpeed = 3f;


void Update () {

if (Input.GetMouseButton(0)) {
     var targetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
     targetPos.z = transform.position.z;
     transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime);
 }

void LateUpdate () {
    var left = Camera.main.ViewportToWorldPoint (Vector3.zero).x; 
    var right = Camera.main.ViewportToWorldPoint (Vector3.one).x; 
    float x = transform.position.x; 
    if (transform.position.x <= left + cube.bounds.extents.x) { 
        x = left + cube.bounds.extents.x; 
    } else if (transform.position.x >= right - cube.bounds.extents.x) {
        x = right - cube.bounds.extents.x; 
    }
    transform.position = new Vector3 (x, transform.position.y, transform.position.z);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...