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

手机网站建设服务合同范本深圳外贸网站建设企业

手机网站建设服务合同范本,深圳外贸网站建设企业,网站图片引导页怎么做,做网站联系我们在那个板块里面文章目录 说明实例1#xff1a;构建游戏角色实例2#xff1a;构建游戏场景实例3#xff1a;构建UI界面 说明 在Unity中#xff0c;建造者模式#xff08;Builder Pattern#xff09;是一种创建型设计模式#xff0c;它通过分离对象构建过程的复杂性#xff0c;允许您以… 文章目录 说明实例1构建游戏角色实例2构建游戏场景实例3构建UI界面 说明 在Unity中建造者模式Builder Pattern是一种创建型设计模式它通过分离对象构建过程的复杂性允许您以更灵活和可扩展的方式创建不同变体的对象。这种模式尤其适用于需要构造具有多个可选或必须组件的对象并且希望客户端代码无需了解内部构造细节的情况下。 以下是Unity中使用建造者模式的三个实例 实例1构建游戏角色 假设我们正在开发一个角色扮演游戏游戏角色由多种部件组成如身体、头部、装备、技能等。我们可以为游戏角色创建一个Builder类来逐个添加这些部分 // 角色接口 public interface ICharacterBuilder {void SetBody(BodyPart body);void SetHead(HeadPart head);void SetEquipment(Equipment equipment);void SetSkills(ListSkill skills);// 构建完整角色的方法Character Build(); }// 具体的建造者实现 public class PlayerCharacterBuilder : ICharacterBuilder {private BodyPart _body;private HeadPart _head;private Equipment _equipment;private ListSkill _skills;public void SetBody(BodyPart body) _body body;public void SetHead(HeadPart head) _head head;public void SetEquipment(Equipment equipment) _equipment equipment;public void SetSkills(ListSkill skills) _skills skills;public Character Build(){return new Character(_body, _head, _equipment, _skills);} }// 客户端代码调用 var builder new PlayerCharacterBuilder(); builder.SetBody(someBody); builder.SetHead(someHead); builder.SetEquipment(someEquipment); builder.SetSkills(characterSkills); var player builder.Build();实例2构建游戏场景 在Unity中构建复杂的场景也是一个可以利用建造者模式的过程。例如一个SceneBuilder类可以用来逐步地添加游戏对象、灯光、摄像机和其他组件到场景中 // 场景构建器接口 public interface ISceneBuilder {void AddGameObject(GameObject go);void SetMainCamera(Camera camera);void AddLight(Light light);Scene BuildScene(); }// 具体场景构建器实现 public class LevelOneSceneBuilder : ISceneBuilder {private ListGameObject _gameObjects new ListGameObject();private Camera _mainCamera;private ListLight _lights new ListLight();public void AddGameObject(GameObject go) _gameObjects.Add(go);public void SetMainCamera(Camera camera) _mainCamera camera;public void AddLight(Light light) _lights.Add(light);public Scene BuildScene(){var scene new Scene(); // Unity 不直接支持这样创建场景此处仅做示意foreach (var go in _gameObjects)SceneManager.MoveGameObjectToScene(go, scene);_mainCamera.gameObject.SetActive(true); // 设置主摄像机foreach (var light in _lights)SceneManager.MoveGameObjectToScene(light.gameObject, scene);return scene; // 返回构建完成的场景实际应用中会有所不同} }// 使用示例 var levelBuilder new LevelOneSceneBuilder(); levelBuilder.AddGameObject(playerGO); levelBuilder.AddGameObject-enemyGO); levelBuilder.SetMainCamera(mainCam); levelBuilder.AddLight(sceneLight); var scene levelBuilder.BuildScene();实例3构建UI界面 在Unity UI系统中构建用户界面可能涉及到很多不同的元素如面板、按钮、文本标签等。通过Builder Pattern可以简化这个过程 // UI构建器接口 public interface IUIMenuBuilder {void AddButton(string text, Action onClick);void AddLabel(string labelText);void AddSlider(float min, float max, float value);UnityEngine.UI.Canvas BuildCanvas(); }// 具体UI构建器实现 public class MainMenuBuilder : IUIMenuBuilder {private CanvasGroup canvasGroup;private RectTransform container;private ListUnityEngine.UI.Button buttons new ListUnityEngine.UI.Button();private ListUnityEngine.UI.Text labels new ListUnityEngine.UI.Text();private ListUnityEngine.UI.Slider sliders new ListUnityEngine.UI.Slider();public MainMenuBuilder(Canvas canvas){canvasGroup canvas.GetComponentCanvasGroup();container new GameObject(Menu Container).AddComponentRectTransform();container.SetParent(canvas.transform);}public void AddButton(string text, Action onClick){var button Instantiate(buttonPrefab, container);button.GetComponentInChildrenText().text text;button.onClick.AddListener(() onClick());buttons.Add(button);}public void AddLabel(string labelText){var label Instantiate(labelPrefab, container);label.text labelText;labels.Add(label);}public void AddSlider(float min, float max, float value){var slider Instantiate(sliderPrefab, container);slider.minValue min;slider.maxValue max;slider.value value;sliders.Add(slider);}public UnityEngine.UI.Canvas BuildCanvas(){return canvasGroup.canvas;} }// 使用示例 var menuBuilder new MainMenuBuilder(mainCanvas); menuBuilder.AddButton(Start Game, StartGame); menuBuilder.AddLabel(Welcome to the game!); menuBuilder.AddSlider(0f, 100f, 50f); var builtCanvas menuBuilder.BuildCanvas();请注意以上示例中的Build方法返回的是构建的产品在Unity中可能是具体的Unity Object或者是一个逻辑结构实际操作时要根据Unity API的特点进行调整。 python推荐学习汇总连接 50个开发必备的Python经典脚本(1-10) 50个开发必备的Python经典脚本(11-20) 50个开发必备的Python经典脚本(21-30) 50个开发必备的Python经典脚本(31-40) 50个开发必备的Python经典脚本(41-50) ———————————————— ​最后我们放松一下眼睛
http://www.zqtcl.cn/news/159564/

相关文章:

  • 网站做app的重要性做静态网站有什么用
  • 一键搭建网站系统教做衣服的网站有哪些
  • 城乡建设部网站施工员证书查询中铁建设集团有限公司招标平台
  • 广东省建设项目安全标准自评网站哪个网站可以免费做简历
  • 带产品展示的个人网站模板购物网站开发背景
  • 哪个域名注册网站好seo广告投放是什么意思
  • 网站建设ydwzjs电子邮箱怎么申请
  • 福建省建住房建设部网站wordpress 算数验证码
  • 东莞企业如何建网站网站正在建设中...为什么护卫神
  • 引流用的电影网站怎么做wordpress浏览速度
  • 微信小程序怎拼做搬家网站东莞建网站公司
  • 网站推广昔年下拉博客推广链接制作软件
  • php 小企业网站 cmswordpress导航分类
  • 婚恋网站女孩子都是做美容免费空间最大的网盘
  • 建立网站要钱吗找人做网站需求怎么写
  • 网站建设精品课程电商运营主要负责什么
  • 中职网站建设与维护考试题wordpress商店会员管理
  • 物流网站开发策划做提升自己的网站
  • 网站开发交接做网站首页尺寸大小
  • 临沂建网站公司一个工厂做网站有用吗
  • 网站建设代码编译的问题及解决方案天元建设集团有限公司第六分公司
  • 做亚马逊网站费用深圳好蜘蛛网站建设公司
  • 做网站需要办什么手续html简单网页代码实例
  • 中文网页设计模板免费下载超级优化小说
  • 做网站的流程前端做什么网站建设与管理专业学什么
  • 用wordpress做购物网站西安建设工程网站
  • 响应式网站免费模板下载电商怎么做如何从零开始视频
  • 江西网站开发学校联系我们网站制作
  • 做网站首页图片素材营销网站制作要素
  • 云阳网站建设百度对 wordpress 排名