Unity 3D C # Script - мой личный член, кажется, просто чередуется между 0 и правильным значением - PullRequest
1 голос
/ 08 марта 2019

У меня есть скрипт в моем приложении Unity (называемый cubemove.cs).

Имеет приватного члена:

private float z_ref;
  • Внутри моего void Awake() У меня есть строка для инициализации: z_ref = (float) 0.0;

У меня в приложении установлена ​​кнопка для запуска следующей функции по клику из cubemove.cs

public void zeroZ()
{
    z_ref = (float) 45.0;
}
  • My void Update() содержит Debug.Log("z_ref: " + z_ref.ToString());

Когда я запускаю приложение и просматриваю выходные данные отладки, сначала печатается только z_ref: 0. Это ожидается, поскольку это то, что я инициализировал значение. Затем, когда я нажимаю кнопку в приложении (что приводит к выполнению zeroZ ()), я ожидаю, что покажет 45. Вместо этого она чередуется между 45 и 0.

Вот изображение вывода отладки после нажатия кнопки

  • До нажатия кнопки были все 0.

У моей оригинальной программы было больше кода, когда я впервые столкнулся с этой проблемой, когда мой z_ref случайно менялся (он не был установлен на 45, zeroZ () была более сложной функцией и т. Д.). Однако даже после того, как я изменил свой файл cubemove.cs на следующий код ниже, я все еще вижу то же самое поведение z_ref, чередующегося между 0 и значением, которое это должно быть.

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


public class cubemove : MonoBehaviour
{ 
    private float z_ref;

    void Awake()
    {
        z_ref = (float) 0.0;
    }
    void Start()
    {
    }
    void Update()
    {
        Debug.Log("z_ref: " + z_ref.ToString());
    }
    public void zeroZ()
    {
        z_ref = (float) 45.0;
    }
}

После вызова zeroZ() не должно быть никаких причин, по которым z_ref должен отображаться как любое другое значение, кроме 45. Что именно здесь происходит?

В случае, если это уместно, моя цель сборки - android (выходное изображение отладки из logcat).

1 Ответ

0 голосов
/ 08 марта 2019

Как отмечено в комментарии, проблема была связана с несколькими экземплярами cubemove (он был связан с более чем одним игровым объектом, но я не осознавал в то время).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...