如何做能切换语言的网站网站托管服务商
如何做能切换语言的网站,网站托管服务商,网站开发流程及进度安排,建设网站需要营业执照一、阳光值的展示和消耗
1.创建一个文本组件用于显示阳光的数值#xff0c;然后在脚本中得到这个UI。
在SunManger中得到这个组件的引用 public TextMeshProUGUI sunPointText;
写一个用于更新显示的方法 public void UpdataSunPointText() { sunPointText.tex…一、阳光值的展示和消耗
1.创建一个文本组件用于显示阳光的数值然后在脚本中得到这个UI。
在SunManger中得到这个组件的引用 public TextMeshProUGUI sunPointText;
写一个用于更新显示的方法 public void UpdataSunPointText() { sunPointText.text sunPoint.ToString(); }
2.写一个方法用于阳光值的消耗 public void SubSun(int Point) { sunPoint - Point; UpdataSunPointText(); } 二、开发能种植的植物
1.向日葵
将向日葵的素材全选拖拽到场景中会自动生成帧动画。保存后会生成 一个是动画一个是状态机。
添加一个脚本用于管理所有的植物。
对于每个植物都有两个状态禁用和可用。再根据不同状态做不同的处理。 switch (plantState) { case PlantState.Disable: DisableUpdata(); break; case PlantState.Enable: EnsableUpdata(); break; default: break; }
其中方法的具体实现在后续补充。
现在CardControl脚本中新增一个枚举用于在我们点击的卡片槽来区分不同的植物
public enum PlantType { Sunflower, PeaShooter }
再提供一个公共的属性方便再外面修改
public PlantType plantType PlantType.Sunflower;
这里要保证枚举的访问性要大于或等于属性的访问性。 当我们点击卡片的时候是要通过预制体去生成对应的植物然后放在对应的格子上。因此对于每一个植物我们也需要去知道是什么类型的因此在PlantManager脚本中也需要去声明对应的枚举属性。
public PlantType plantType PlantType.Sunflower;
这样卡片的类型就和预制体上的类型一一对应上了。
种植功能的大体思路点击卡片将对应的植物拿在鼠标上并跟随移动当鼠标点击对应格子时将植物放在对应格子上。
创建一个脚本HandManager来单独管理这个功能。
将其也设置为单例模式 public static HandManager Instance { get; private set; } private void Awake() { Instance this; }
想要通过PlantType去实例化对应的植物就需要一个集合去保存所有的Peefabs。
public ListPlantManager PlantPrefabList;
需要一个在集合中查找对应的植物的方法。 public PlantManager GetPlant(PlantType plantType) { foreach(PlantManager plant in PlantPrefabList) { if(plant.plantType plantType) { return plant; } } return null; }
写一个方法实例化对应植物和跟随鼠标 public void AddPlant(PlantType plantType) { PlantManagr plantPrefab GetPlantPrefab(plantType); if(plantPrefab ! null) { //这里需要注意的是上面拿到的是PlantManagr当我们去是实例化这个组件就相当于去 实例化这个组件所在的GammeObject。 currentPant GameObject.Instantiate(plantPrefab); } else { Debug.Log(游戏物体不存在); return; } }
然后将这个方法在CardControl脚本中的Onclick方法进行调用 public void Onclick() { if (needSunPoint SunManager.Instance.SunPoint) return; //TODO:并进行种植 HandManager.Instance.AddPlant(plantType); SunManager.Instance.SubSun(needSunPoint); TransitionToCooling(); }
演示效果如下: 由于现在只有向日葵的预制体因此点击豌豆射手会提示游戏物体不存在点击向日葵会直接种植。
接下来实现植物跟随鼠标移动。首先要获取鼠标的事件坐标 void FollowCursor() { if (currentPant null) return; //还要将z轴设置为与背景保持一致 Vector3 mouseWorldPosition Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 637)); currentPant.transform.position mouseWorldPosition; }
然后在updata里面调用 private void Update() { FollowCursor(); }
这样就实现了植物跟随鼠标的效果。效果如下
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89871.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!