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

所有搜索引擎蜘蛛不来网站了网站建设如何找客户

所有搜索引擎蜘蛛不来网站了,网站建设如何找客户,做网站横幅 的网站推荐几个,介绍企业的ppt策略模式#xff08;Strategy Pattern#xff09;是一种行为型设计模式#xff0c;定义了一系列算法#xff0c;并将每种算法封装到独立的类中#xff0c;使得它们可以互相替换。策略模式让算法可以在不影响客户端的情况下独立变化#xff0c;客户端通过与这些策略对象进…策略模式Strategy Pattern是一种行为型设计模式定义了一系列算法并将每种算法封装到独立的类中使得它们可以互相替换。策略模式让算法可以在不影响客户端的情况下独立变化客户端通过与这些策略对象进行交互来执行不同的行为。 在策略模式中核心思想是将算法的定义和使用分离使得不同的策略算法可以灵活地切换符合面向对象设计中的开闭原则即对扩展开放、对修改关闭。 策略模式的结构 策略接口Strategy Interface定义所有策略的共同行为这通常是一个抽象类或接口。具体策略类Concrete Strategy实现策略接口的具体算法。上下文类Context Class维护对某个策略对象的引用并提供对客户端的接口允许客户端调用策略算法。 适用场景 避免使用难以维护的多重条件选择语句当策略中有较为复杂的数据结构或者算法不需要暴露在客户端或者其他时。 在 Unity 中使用 策略模式 在 Unity 中使用策略模式的一个典型应用场景是为游戏角色定义不同的移动方式例如走路、跑步、跳跃等。在游戏开发中不同的角色可能有不同的移动方式。通过策略模式我们可以将这些不同的移动逻辑封装到独立的策略类中并动态切换角色的移动方式。 1、通过策略模式实现角色的移动 (1) 定义策略接口  首先定义一个策略接口 IMoveStrategy它规定所有移动策略都必须实现一个 Move() 方法。 public interface IMoveStrategy {void Move(Transform characterTransform); } (2) 定义具体策略类  创建几个具体的移动策略类 WalkStrategy、RunStrategy 和 JumpStrategy分别实现不同的移动行为。 using UnityEngine;// 走路策略 public class WalkStrategy : IMoveStrategy {public void Move(Transform characterTransform){characterTransform.Translate(Vector3.forward * 2f * Time.deltaTime);Debug.Log(Character is walking.);} }// 跑步策略 public class RunStrategy : IMoveStrategy {public void Move(Transform characterTransform){characterTransform.Translate(Vector3.forward * 5f * Time.deltaTime);Debug.Log(Character is running.);} }// 跳跃策略 public class JumpStrategy : IMoveStrategy {public void Move(Transform characterTransform){characterTransform.Translate(Vector3.up * 5f * Time.deltaTime);Debug.Log(Character is jumping.);} } (3) 定义上下文类 Character 类作为上下文类负责维护当前的移动策略并提供方法来设置不同的移动策略和执行移动操作。 using UnityEngine;public class Character : MonoBehaviour {private IMoveStrategy moveStrategy;// 设置移动策略public void SetMoveStrategy(IMoveStrategy strategy){moveStrategy strategy;}// 执行移动public void PerformMove(){if (moveStrategy ! null){moveStrategy.Move(transform);}else{Debug.LogWarning(Move strategy not set!);}} } (4) 客户端代码 在 GameController 中我们实例化角色并动态设置和切换移动策略。 using UnityEngine;public class GameController : MonoBehaviour {private Character character;void Start(){// 创建角色character gameObject.AddComponentCharacter();// 初始化为走路策略character.SetMoveStrategy(new WalkStrategy());}void Update(){// 执行移动character.PerformMove();// 根据输入切换策略if (Input.GetKeyDown(KeyCode.W)){character.SetMoveStrategy(new WalkStrategy());}else if (Input.GetKeyDown(KeyCode.R)){character.SetMoveStrategy(new RunStrategy());}else if (Input.GetKeyDown(KeyCode.Space)){character.SetMoveStrategy(new JumpStrategy());}} } 示例解释 WalkStrategy角色以较慢的速度向前移动模拟走路的行为。RunStrategy角色以较快的速度向前移动模拟跑步的行为。JumpStrategy角色向上跳跃模拟跳跃的行为。 在 GameController 中使用键盘输入W 键、R 键和空格键来动态切换角色的移动策略。按下相应的键后角色将切换到走路、跑步或跳跃模式。 通过策略模式角色的移动方式可以灵活切换而不需要修改任何核心代码。 策略模式 在 Unity 中的优势是可以动态切换角色行为如移动、攻击等。通过将不同的移动方式封装到独立的类中我们可以更方便地扩展系统并根据游戏需求随时切换策略。 2、通过策略模式实现修改图片的颜色 1定义策略接口 首先定义一个抽象类或接口ChangeColor并且声明一个image参数和ExChangeColor的虚方法 using UnityEngine.UI; public abstract class ChangeColor {public Image img;public virtual void ExChangeColor() { } }2定义具体策略类 然后创建几个具体的策略类ChangeColor和ChangeBlue分别用来改变不同颜色 //修改图片颜色为红色 using UnityEngine; public class ChangeRed : ChangeColor {public override void ExChangeColor(){img.color Color.red;} }------------------- //修改图片颜色为蓝色 using UnityEngine; public class ChangeBlue : ChangeColor {public override void ExChangeColor(){img.color Color.blue;} }3定义上下文类 维护对strategy 对象的引用并提供方法来设置不同的操作 using UnityEngine.UI; public class StategyContext {ChangeColor strategy;public StategyContext(ChangeColor strategy,Image img){this.strategy strategy;this.strategy.img img;}public void StategyContextInterface(){strategy.ExChangeColor();} }4客户端代码 在 StategyManager 中我们实例化角色并动态设置和切换移动策略。 using UnityEngine.UI; public class StategyManager : MonoBehaviour {[SerializeField] private Image img;StategyContext stategyContext;void Update(){if (Input.GetKeyDown(KeyCode.R)){stategyContext new StategyContext(new ChangeRed(), img);stategyContext.StategyContextInterface();}if (Input.GetKeyDown(KeyCode.B)){stategyContext new StategyContext(new ChangeBlue(), img);stategyContext.StategyContextInterface();}} }今天是2024年12月4日 重复一段毒鸡汤来勉励我和你 你的对手在看书 你的仇人在磨刀 你的闺蜜在减肥 隔壁的老王在练腰 而你在干嘛
http://www.eeditor.cn/news/118436/

相关文章:

  • html5手机app网站模板免费下载wordpress评分插件
  • 做销售用什么网站网页制作素材服装类
  • 嵌入式转行到网站开发小程序登录后怎么退出
  • 做社群最好的网站源码深圳保障房
  • 横向网站源码网上免费网站的域名
  • 网站源码如何使用上海网站建设解决方案
  • 高端网站优化公司如何添加百度指数
  • wordpress程序网站wordpress主题模块添加图片尺寸
  • 四川省建设工程网站形象类网站
  • 建站科技公司关于我们网页设计模板
  • 网站响应式好吗房产信息网查不到楼盘信息
  • 优化网站方法影楼微网站建设方案
  • 校园二手网站设计论文wordpress同步插件
  • 广州集团网站建设腾讯云域名注册步骤
  • 任县网站制作营销网站制作
  • 青海报社网站建设公司旅游电子商务网站建设技术规范
  • 外卖网站设计wordpress如何添加注册按钮
  • 现在做一个网站多少钱安卓系统优化app
  • 做网站可以提些什么意见安全网站建设的研究方法
  • 网站建设技术员工资国外服务器地址ip
  • 网站模板设计定制化服务装修设计软件酷家乐
  • 网站招标建设平台后期维护
  • 网站建设的公司工作室网站 关键词 选择
  • 专业做电子的外贸网站建设网络推广工具有哪些
  • 安全网站建设网站制作营销云产品
  • 移动网站建设优势企业做网站流程
  • 电商网站开发方案平台推广费用
  • 网站设计制作ihanshi网站策划书案例
  • 建材板材网站源码 asp鞋业有限公司网站设计
  • 做网站跟app需要多少钱新网站需要加锚文本吗