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

法制建设网站短视频培训学校

法制建设网站,短视频培训学校,网站关键词优化工具,饭店餐厅网站建设1. 第一步创建3个脚本Factory(反应工厂),Reactions(具体反应),FactoryText(测试反应的脚本) 2.编写工厂脚本 using UnityEngine;// 定义一个元素反应的接口,所有具体的元…

1. 第一步创建3个脚本Factory(反应工厂),Reactions(具体反应),FactoryText(测试反应的脚本)

 2.编写工厂脚本

using UnityEngine;// 定义一个元素反应的接口,所有具体的元素反应类都需要实现这个接口
// 接口写在Factory命名空间外部,方便其他类实现
public interface Ireaction
{void react();
};
public class Factory : MonoBehaviour
{
//  单例模式public static Factory instance;void Awake(){if (instance == null){instance = this;DontDestroyOnLoad(gameObject);}else{Destroy(gameObject);}}
}// 定义一个 TransportFactory 类,用于根据传入的元素类型获取对应的元素反应类
public class TransportFactory
{public static Ireaction GetTransport(string type1, string type2){switch (type1.ToLower(), type2.ToLower()) // 将传入的元素类型转换为小写,以便进行不区分大小写的比较{case ("水", "草"):case ("草", "水"):return new combustion();case ("水", "火"):case ("火", "水"):return new evaporation();case ("水", "冰"):case ("冰", "水"):return new Freeze();case ("火", "冰"):case ("冰", "火"):return new Melting();default:Debug.Log("无法反应");return null;}}
}

3.编写具体的反应类 

 不同的反应继承Ireaction接口并实现反应方法。

using UnityEngine;public class combustion : Ireaction
{public void react(){Debug.Log("燃烧");}
}
public class evaporation : Ireaction
{public void react(){Debug.Log("蒸发");}
}
public class Freeze : Ireaction
{public void react(){Debug.Log("冻结");}
}
public class Melting : Ireaction
{public void react(){Debug.Log("融化");}
}

4.编写测试脚本

using UnityEngine;public class FactoryText : MonoBehaviour
{void Update(){//按下空格if (Input.GetKeyDown(KeyCode.Space)){//通过工厂模式得到具体要执行的反应var x = TransportFactory.GetTransport("水", "草");//如果反应不为空就执行反应if (x != null){x.react();}}//按下Aif (Input.GetKeyDown(KeyCode.A)){var x = TransportFactory.GetTransport("水", "火");if (x != null){x.react();}}//按下Sif (Input.GetKeyDown(KeyCode.S)){var x = TransportFactory.GetTransport("火", "水");if (x != null){x.react();}}}
}

5.创建一个空对象并将测试脚本挂到空对象上

6.运行游戏 

然后依次按下空格,A,S。就看到具体的反应被打印出来了。

本篇文章提供了元素反应的具体思路,当然具体效果还需要在游戏中进行处理 。希望这篇文章对你有帮助。

http://www.dtcms.com/wzjs/433787.html

相关文章:

  • 计算机web是什么意思哈尔滨企业网站seo
  • 怎样做网站的排名seo日常优化内容是什么
  • 为什么手机进网站乱码磁力狗最佳搜索引擎
  • 内蒙古自治区建设厅网站设计素材网站
  • 购物分享网站流量排名天津网络关键词排名
  • 中高风险地区最新名单seo工资水平
  • 外国网站域名在哪查seo 360
  • 网络运营商是干嘛的网站点击排名优化
  • 宁波雪窦山名山建设委员会网站线上推广是什么工作
  • 湖南响应式网站建设价位网站查询网
  • 怎么策划一个网站网络营销策划书步骤
  • 济南企业建站怎么样百度百家官网入口
  • 如何用asp.net做网站网络推广精准营销推广
  • 云南网站建设快速排名seo实战教程
  • 作词做曲网站windows优化大师值得买吗
  • wordpress 后台点击没反应熊猫seo实战培训
  • 哪个网站做电商门槛最低电脑培训速成班多少钱
  • 贵阳网站建设电话青岛seo推广
  • 答题做任务网站seo诊断分析工具
  • 网站建设公司外链怎么做索引擎优化 seo
  • wordpress wpinc南昌seo排名扣费
  • 服装网站制作seo推广方案
  • 商城网站建厦门谷歌seo公司有哪些
  • 四川建设厅官方网站文件下载广州建网站的公司
  • 重庆网站建设哪里比较好呢如何做线上推广
  • reactjs 做的网站禁止搜索引擎收录的方法
  • 移动路由器做网站服务器全能搜
  • 合肥专业做淘宝网站建设宁波seo教程行业推广
  • 网站建设设计公司排名营销和销售的区别
  • 政府学校通用网站html模板如何免费做网站网页