C# 如何在unity c中使对象可序列化#
起初它是一个文本,但我希望它是一个图像/精灵,所以我把它改为对象。但现在我犯了这些错误。我的错误在第50行和第51行 请帮忙:( 错误:无法对object类型的表达式应用索引 错误:赋值的左侧必须是变量或属性 索引器C# 如何在unity c中使对象可序列化#,c#,object,unity3d,serializable,C#,Object,Unity3d,Serializable,起初它是一个文本,但我希望它是一个图像/精灵,所以我把它改为对象。但现在我犯了这些错误。我的错误在第50行和第51行 请帮忙:( 错误:无法对object类型的表达式应用索引 错误:赋值的左侧必须是变量或属性 索引器 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用UnityEngine.UI; 公共类Kuis:单一行为{ [SerializeField]文本teksPertanyaan; [SerializeField]对象[]te
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
公共类Kuis:单一行为{
[SerializeField]文本teksPertanyaan;
[SerializeField]对象[]teksPilihan;
[SerializeField]Soal[]Soal;
[序列化字段]int indexsoal;
//德克拉拉西lcm
int a,b,m,x,hasil;
//用于初始化
无效开始(){
a=4;
b=5;
m=9;
x=0;
for(int i=0;i
teksPilihan[i].ToString对我来说毫无意义。首先,如果需要字符串表示,需要正确调用方法-teksPilihan[i].ToString()带括号。但是字符串在C#中是不可变的,所以我不确定您希望实现什么。也许您想将传入的数据转换为字符串?如果是这样,转换应该在等式的另一端完成。关于第一个错误:如果Soal.pilihan
的类型在其类中没有实现,您就不能执行这样的转换但是它似乎是一个数组,所以它可能是这样的。teksPilihan[i]。ToString=soal[\u indexsoal]。pilihan[i];
你到底想用它实现什么?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Kuis : MonoBehaviour {
[SerializeField] Text teksPertanyaan;
[SerializeField] Object[] teksPilihan;
[SerializeField] Soal[] soal;
[SerializeField] int indeksSoal;
//deklarasi lcm
int a, b, m, x, hasil;
// Use this for initialization
void Start () {
a = 4;
b = 5;
m = 9;
x = 0;
for (int i = 0; i < soal.Length; i++) {
x = (a * x + b) % m;
hasil = x % 3;
Debug.Log("" +hasil);
tampilSoal (hasil);
}
}
// Update is called once per frame
void Update () {
}
IEnumerator dealay(){
yield return new WaitForSeconds (1);
//tampilSoal (Random.Range (1, 5));
tampilSoal (Random.Range (0, soal.Length));
//Debug.Log("" +hasil);
Debug.Log("" +indeksSoal);
}
public void konten(){
StartCoroutine (dealay ());
}
void tampilSoal(int _indeksSoal){
indeksSoal = _indeksSoal;
teksPertanyaan.text = soal [_indeksSoal].pertanyaan;
for (int i = 0; i < soal [_indeksSoal].pilihan.Length; i++) {
teksPilihan [i].ToString = soal [_indeksSoal].pilihan [i];
}
}
public void verifikasiJawaban(int _indeksJawaban){
if (_indeksJawaban == soal [indeksSoal].indeksJawaban) {
print ("Jawaban Benar!");
konten ();
}
else {
//hilangSoal.SetActive (false);
print ("Jawaban Salah!");
konten ();
}
}
}