это мой сценарий
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class MouseDownText : MonoBehaviour {
public Canvas myCanvas;
// Use this for initialization
void Start () {
myCanvas.enabled = false;
}
// Update is called once per frame
void Update () {
}
void OnMouseDown()
{
// for switch on/off
if (myCanvas.enabled)
myCanvas.enabled = false;
else
myCanvas.enabled = true;
}
}
когда я переодеваюсь. public Canvas в общедоступный GameObject
public GameObject myObject;
// Use this for initialization
void Start () {
myObject.enabled = false;
}
в myObject.enabled - красный текст с надписью «ошибка CS0131: левая часть присваивания должна быть переменной, свойством или индексатором»
Почему ?
ОБНОВЛЕНИЕ ВОПРОСА -------
главный вопрос, как изменить
public Canvas myCanvas;
to
public GameObject myCanvas;
с участием
myCanvas.enabled = false;
верная ошибка. потому что игровой объект не нужен
но вот мой настоящий сценарий
using UnityEngine;
using System.Collections.Generic;
using Vuforia;
public class VirtualButtonEventHandler : MonoBehaviour, IVirtualButtonEventHandler {
// Private fields to store the models
public Canvas model_1;
void Start() {
// Search for all Children from this ImageTarget with type VirtualButtonBehaviour
VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour> ();
for (int i = 0; i < vbs.Length; ++i) {
// Register with the virtual buttons TrackableBehaviour
vbs [i].RegisterEventHandler (this);
}
model_1.enabled=false;
}
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb) {
//Debug.Log(vb.VirtualButtonName);
Debug.Log("Button pressed!");
switch(vb.VirtualButtonName) {
case "btnLeft":
if (model_1.enabled)
model_1.enabled = false;
else
model_1.enabled = true;
break;
// default:
// throw new UnityException("Button not supported: " + vb.VirtualButtonName);
// break;
}
}
/// Called when the virtual button has just been released:
public void OnButtonReleased(VirtualButtonAbstractBehaviour vb) {
Debug.Log("Button released!");
}
}
это работает, когда
public Canvas Model_1;
с включенным.
но как, если я хочу изменить Canvas на GameObject?
что я должен изменить здесь
public GameObject Model_1;
а также
model_1.enabled=false;
а также
switch(vb.VirtualButtonName) {
case "btnLeft":
if (model_1.enabled)
model_1.enabled = false;
else
model_1.enabled = true;
потому что моя модель это не просто 1, поэтому я могу изменить свой объект, например LOGIC if if (model_1 false) model_1 снова щелкнуть BtnLeft (если model_1 включен) model_1 false model_2 на как следующий объект