Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

Transform.hasChanged

Declaration

public bool hasChanged;

Описание

Изменилось ли преобразование с момента последнего установления флага в 'false'?

Изменением преобразования может быть любое изменение, которое может привести к перерасчету его матрицы: любая корректировка его положения, вращения или масштаба, или изменение любого из его родителей. Операции, которые могут изменить преобразование, не проверяют, отличаются ли новые значения от предыдущих, прежде чем установить этот флаг. Например, установка transform.positionвсегда устанавливает hasChanged для преобразования, независимо от фактического изменения.

Когда объект инстанцируется, ему назначается положение, которое устанавливает этот флаг на 'true'. Unity никогда не устанавливает его на 'false', так что вы должны устанавливать его на 'false' самостоятельно, если это необходимо. Вы можете проверить этот флаг, чтобы определить, изменилось ли преобразование объекта с момента последнего установления флага на 'false'.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Update() { //Checking if any change happened if (transform.hasChanged) { print("The transform has changed!");

//Reset the flag to start detecting change from this moment transform.hasChanged = false; } } }