当前位置: 首页 > news >正文

有名的网站建设电话网站详细报价

有名的网站建设电话,网站详细报价,网站开发广告宣传,网页设计软件列表点击查看Siki学院2023的PVZ免费了,学一下也坏 卡片状态 卡片可以有三种状态: 1.阳光足够,(且cd好了可以种植) 2.阳光不够,(cd?好了:没好 (三目运算符)&…

Siki学院2023的PVZ免费了,学一下也坏 

卡片状态

卡片可以有三种状态:

1.阳光足够,(且cd好了可以种植)

2.阳光不够,(cd?好了:没好 (三目运算符))

3.开始转cd,(被种下)

状态切换是单向循环的,只有a到b,没有a到c所以不会互相干扰,所以上面括号内的内容可以不用考虑 

转换状态触发条件

因为教程中使用的是枚举配合Switch切换状态

public class ControlState : MonoBehaviour
{public enum Card_State{ //准备就绪E_Ready,//CdE_Cd,//cd结束等待阳光E_WaitingSun}//三种状态的对象public GameObject Light;public GameObject WaitSun;public Image LayerMask;Card_State state;//计时器变量public float ReadNeedTime = 2;public float CdTime = 0;//需要阳光数public int needSunPoint = 50;private void Awake() {//初始状态表现一下Cd冷却state = Card_State.E_Cd;}private void Update() {switch (state) {case Card_State.E_Ready:ReadyUpdate();break;case Card_State.E_Cd:CDUpdate();break;case Card_State.E_WaitingSun:WaitingSunUpdate();break;default:throw new System.NotImplementedException("未正确返回枚举类型");}}/// <summary>/// 阳光不够就切换回等待状态/// </summary>public void ReadyUpdate(){if (needSunPoint > SunManger.Instance.SunPoint) {Translate2WaitSun();}}/// <summary>/// 转cd,如果cd转完了则转到等待阳光阶段/// </summary>public void CDUpdate(){ //计时器变0将图片设置为WaitingSun状态CdTime += Time.deltaTime;LayerMask.fillAmount = (ReadNeedTime - CdTime) / ReadNeedTime;if (CdTime>ReadNeedTime){Translate2WaitSun();}}/// <summary>/// 阳光足够则转为准备好的阶段/// </summary>public void WaitingSunUpdate() {if (needSunPoint <= SunManger.Instance.SunPoint){Translate2Ready();}}

让我想想,从难度低到难度高,还有几种方式可以切换状态

1.if else 我以切换条件定义一堆变量可以实现条件切换

2.事件,写了这么多函数是否可以用Unity.Event的配合UGUI来切换呢?有待考究

胡说但是说不定可行:3.状态机  4.行为树

转换状态中要处理的逻辑

    /// <summary>/// 转换方法:2WaitSun/// </summary>public void Translate2WaitSun(){state = Card_State.E_WaitingSun;LayerMask.gameObject.SetActive(false);Light.SetActive(false);WaitSun.SetActive(true);//重置计时器CdTime = 0;}/// <summary>/// 转换方法:2Ready/// </summary>public void Translate2Ready(){state = Card_State.E_Ready;LayerMask.gameObject.SetActive(false);Light.SetActive(true);WaitSun.SetActive(false);}/// <summary>/// 转换方法:2Cd/// </summary>public void Translate2Cd() {state = Card_State.E_Cd;LayerMask.gameObject.SetActive(true);Light.SetActive(false);WaitSun.SetActive(true);}/// <summary>/// Ready下被点击将会进入cd/// </summary>public void OnClick(){//阳光检查if (needSunPoint > SunManger.Instance.SunPoint)return;//TODO:被种植//转入cd状态Translate2Cd();}
}

 

 

http://www.yayakq.cn/news/10196/

相关文章:

  • 网站 wap工控机做网站服务器
  • 不动产登记网站建设广告页面制作
  • 网站模块规划青岛做网站的公司哪个好
  • seo营销推广服务公司无锡网站优化公司
  • 怎么做动漫网站深圳新星公司官网
  • 在线ip代理网页搜索引擎排名优化技术
  • 网站根目录权限设置wordpress文章积分
  • 做网站花了2万多做签到的网站
  • 如何查看网站备案号东莞厚街核酸检测点
  • 网站推广的工作内容毕节建设局网站
  • 网站access数据库被攻击不断增大公司网站修改怎么做
  • 长春代做网站宝塔安装wordpress不成功
  • 深圳有效网站制作哪家公司好益阳网站建设广告
  • 自己怎么手机做网站网站做推广有用吗
  • 网站怎么建立数据库白市驿网站建设
  • 企业网站改版建议做外汇可以参考的网站
  • 义乌公司网站建设神魔网站建设
  • 青岛市住房城乡建设厅网站网站建设教程l
  • 综合商城网站建设网站上面的头像怎么做的
  • 网站模板的使用wordpress导入主题慢
  • 临沂网站设计建设展厅设计搭建
  • 简单的做网站软件有啥西安网站快速备案
  • 动图制作网站网站seo优化方案设计
  • 专业重庆房产网站建设wordpress别名
  • 企业网站建设需要哪些费用wordpress 数据库挂马
  • 花市小说网站那里进网站建设终稿确认书
  • 顶尖网站建设工程规范查询网
  • 银川做网站做二手家电市场加什么网站可以
  • 如何设计优秀的公司网站一个做特卖的网站
  • 石家庄网站制作费用帝国cms网站制作