我刚刚开始使用scriptableobject,我正在尝试实例化/创建一个非常基本的scriptableobject的实例,它有4行数组。
我正在尝试实例化我创建的一个脚本对象,每次创建它时,他都会随机化他的变量
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Character",menuName = "Character Creation/Player Units")]
public class CharStats : ScriptableObject
{
[SerializeField]
public string [] charName;
public string [] charDescription;
public string [] charSin;
public Sprite [] charIcon;
}我正在为一个脚本对象在检查器中所做的更改,只有他的内部变量会在每次我创建新的变量时发生变化。这是可能的吗?
发布于 2021-06-01 21:00:05
好的,所以我设法创建一些东西可能不是正确的方法,但是在按下一个键(目前正在测试)之后,它用我现在设置的随机图标实例化了我的scriptableobjectwith。我会添加3个脚本,因为它只用于测试,因为它只用于测试(测试-它的脚本-它的脚本坐在空的游戏对象上引用我的脚本对象,测试2-它的脚本,它的脚本,坐在预制板上,我用脚本对象实例化)
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class testing2 : MonoBehaviour
{
//public ScriptableObject person;
public CharStats charSats;
public Sprite sprite2;
private SpriteRenderer spriteRender;
private void Start()
{
spriteRender = GetComponent<SpriteRenderer>();
GetRandomSprite();
}
public Sprite GetRandomSprite()
{
int randomIndex = Random.Range(0, charSats.charIcon.Length);
Debug.Log(charSats.charIcon[randomIndex]);
if (sprite2 == null)
{
sprite2 = charSats.charIcon[randomIndex];
spriteRender.sprite = sprite2;
}
return charSats.charIcon[randomIndex];
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Testing : MonoBehaviour
{
public GameObject Player;
private void Update()
{
SpawnPlayer();
}
public void SpawnPlayer()
{
if (Input.GetKeyDown(KeyCode.A))
{
GameObject spawnPalyer = Instantiate(Player, new Vector3(Random.Range(-10,10), Random.Range(-10, 10)), Quaternion.identity) as GameObject;
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Character",menuName = "Character Creation/Player Units")]
public class CharStats : ScriptableObject
{
[SerializeField]
public string [] charName;
public string [] charDescription;
public string [] charSin;
public Sprite [] charIcon;
}
https://stackoverflow.com/questions/67793353
复制相似问题