Unity 中创建道具系统:随机生成道具属性、类型和外观
{/'title/':/'Unity 中创建道具系统:随机生成道具属性、类型和外观/',/'description/':/'本文介绍了如何在 Unity 中创建道具系统,包括定义道具属性、类型和外观枚举,以及使用随机数生成器生成道具的属性和外观。并提供了相应的代码示例和常见错误排查方法。/',/'keywords/':/'Unity, 道具系统, 随机生成, 道具属性, 道具类型, 道具外观, 枚举, 代码示例, 错误排查/',/'content/':/'public class ItemAssistant : MonoBehaviour { //n} //npublic enum ItemLevel { //n legend, //n rare, //n ordinary //n} //npublic enum StructureType { //n paodao, //n yongchi, //n xiepo //n}public class Item : MonoBehaviour { //n //n public int tlValue; //n public int sdValue; //n public int lqValue; //n public int bfValue; //n public Sprite itemSprite; //n public int rCost; //n public int bCost; //n public int wCost; //n public int pCost; //n public ItemLevel itemLevel; //n public StructureType itemStructureType; //n}public class ItemCreator : MonoBehaviour { //n public Sprite legendSprite; //n public Sprite rareSprite; //n public Sprite ordinarySprite; //n int legendCost = 16; //n int rareCost = 9; //n int ordinaryCost = 5; //n int legendValue = 21; //n int rareValue = 16; //n int ordinaryValue = 8; //n //n public Item creatANewItem() { //n Item item1=new Item(); //n item1.itemLevel=(ItemLevel)Random .Range(1,3); //n item1.itemStructureType = (StructureType)Random.Range(1, 3); //n if (item1.itemLevel == ItemLevel.legend) { //n item1.rCost = Random .Range(0,legendCost); //n item1.bCost= Random .Range(0, legendCost - item1.rCost); //n item1.wCost=Random.Range(0, legendCost - item1.bCost-item1.rCost); //n item1.pCost=Random.Range(0, legendCost - item1.wCost-item1.rCost-item1.bCost); //n item1.tlValue = Random.Range(0, legendValue); //n item1.sdValue = Random.Range(0, legendValue - item1.tlValue); //n item1.lqValue = Random.Range(0, legendValue - item1.tlValue - item1.sdValue); //n item1.bfValue = Random.Range(0, legendValue - item1.tlValue - item1.sdValue - item1.lqValue); //n item1.itemSprite = legendSprite; //n } else { //n if (item1.itemLevel == ItemLevel.rare) { //n item1.rCost = Random.Range(0, rareCost); //n item1.bCost = Random.Range(0, rareCost - item1.rCost); //n item1.wCost = Random.Range(0, rareCost - item1.bCost - item1.rCost); //n item1.pCost = Random.Range(0, rareCost - item1.wCost - item1.rCost - item1.bCost); //n item1.tlValue = Random.Range(0, rareValue); //n item1.sdValue = Random.Range(0, rareValue - item1.tlValue); //n item1.lqValue = Random.Range(0, rareValue - item1.tlValue - item1.sdValue); //n item1.bfValue = Random.Range(0, rareValue - item1.tlValue - item1.sdValue - item1.lqValue); //n item1.itemSprite = rareSprite; //n } else { //n item1.rCost = Random.Range(0, ordinaryCost); //n item1.bCost = Random.Range(0, ordinaryCost - item1.rCost); //n item1.wCost = Random.Range(0, ordinaryCost - item1.bCost - item1.rCost); //n item1.pCost = Random.Range(0, ordinaryCost - item1.wCost - item1.rCost - item1.bCost); //n item1.tlValue = Random.Range(0, ordinaryValue); //n item1.sdValue = Random.Range(0, ordinaryValue - item1.tlValue); //n item1.lqValue = Random.Range(0, ordinaryValue - item1.tlValue - item1.sdValue); //n item1.bfValue = Random.Range(0, ordinaryValue - item1.tlValue - item1.sdValue - item1.lqValue); //n item1.itemSprite =ordinarySprite; //n } //n } //n return item1; //n } //n}public class linshi : MonoBehaviour { //n Button button; //n public ItemCreator itemCreator1; //n public GameObject itemOnmap; //n Item itemOfItemOnmap; //n SpriteRenderer spriteRenderer1; //n private void Start() { //n button = GetComponent
原文地址: http://www.cveoy.top/t/topic/pMsY 著作权归作者所有。请勿转载和采集!