Как исправить положение игрового объекта? - PullRequest
0 голосов
/ 03 февраля 2019

problem description Я пытаюсь разработать игру наподобие аа.Игра отлично работает на системе в режиме предварительного просмотра игры, но при игре на реальном устройстве возникают такие проблемы, как: булавка иногда перекрывает круг (ротатор).булавка иногда удаляется от ротатора.пины кажутся искаженными после перезапуска уровней.

Я прикрепил скриншот игры.

Что я должен сделать для удержания булавки в их положении?

Я пытался сохранить предыдущее положение пина и восстанавливать его снова при каждом уровне.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Level2 : MonoBehaviour {

Vector2[] defaultPos;
Vector2[] defaultScale;
Quaternion[] defaultRot;

Transform[] tmodels;

public int limit;
// Use this for initialization
void Start () {
    backupTransform ();
    Score.PinCount = 0;
}

// Update is called once per frame
void Update () {
    if (Score.PinCount == limit) {
        FindObjectOfType<GameManager>().levelcomplete();
    }
}

void backupTransform()
{
    GameObject[] models = GameObject.FindGameObjectsWithTag("Pin");

    defaultPos = new Vector2[models.Length];
    defaultScale = new Vector2[models.Length];
    defaultRot = new Quaternion[models.Length];

    tmodels = new Transform[models.Length];

    for (int i = 0; i < models.Length; i++) 
    {
        tmodels [i] = models [i].GetComponent<Transform> ();

        defaultPos [i] = tmodels [i].position;
        defaultScale [i] = tmodels [i].localScale;
        defaultRot [i] = tmodels [i].rotation;
    }
}

void resetTransform()
{
    for (int i = 0; i < tmodels.Length; i++) 
    {

        tmodels [i].position = defaultPos [i];
        tmodels [i].localScale = defaultScale [i];
        tmodels [i].rotation = defaultRot [i];
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...