我希望这可能是我想念的简单。
我有一个ScriptableObject脚本,如下所示:
import java.util.Scanner;
public class OddSum {
public static void main(String[] args) {
int num;
int i = 1;
int sum = 0;
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
num = input.nextInt();
input.close();
while (i<=num) {
// add i to sum before adding 2 to i
sum += i;
i += 2;
}
System.out.println("The sum of odd numbers between 1 and" + num + "is: " + sum);
}
这在编辑器中运行良好,但是如果我向Android或Windows发布任何引用ScriptableObject的脚本,它就不起作用。我错过了什么?
例如,以下代码块似乎根本不执行:
using UnityEngine;
using System.Collections;
[CreateAssetMenu]
public class Item: ScriptableObject
{
public string iname;
public int iindex;
public Sprite sprite;
public GameObject itemObject;
public int value;
public string description;
public itemType itemtype;
public enum itemType
{
Consumable,
Equippable,
}
}
代码中的那些列表是上面脚本中定义的Item类型。我不知道如何调试它,因为我在编辑器中没有出现任何错误或警告。
这是填充库存的脚本。那里有一些垃圾但是definitley在编辑器中正常工作。只是没有建立。
for (int i = 0; i < 3; i++)
{
int lootnum = Random.Range(0, 4);
slot1 = itemdb[lootnum];
tlist[i] = itemdb[lootnum];
slotlist[i].transform.GetChild(0).GetComponent<Image>().sprite = itemdb[lootnum].sprite;
slotlist[i].transform.GetChild(0).GetComponent<Image>().enabled = true;
}
答案 0 :(得分:0)
如果脚本不在场景中,它是如何加载的?它是否使用资产包?如果是这种情况,则可能会从构建中删除该类。您可以在link.xml中包含该类,以确保它包含在内。另一种选择是在任何地方简单地引用包含场景中的脚本。