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

企业网站托管后果网站关键词如何部署

企业网站托管后果,网站关键词如何部署,微博推广的方法,163企业邮箱注册怎么注册文章目录 创建导航NavigationAgent2D节点设置目标位置其他文章 创建导航 首先#xff0c;创建一个基本的场景#xff0c;下面的文章讲解了如何创建一个基本的导航场景#xff0c;点击如下链接前往该文章#xff1a; Godot2D角色导航-自动寻路教程 NavigationAgent2D节点 … 文章目录 创建导航NavigationAgent2D节点设置目标位置其他文章 创建导航 首先创建一个基本的场景下面的文章讲解了如何创建一个基本的导航场景点击如下链接前往该文章 Godot2D角色导航-自动寻路教程 NavigationAgent2D节点 创建场景之后我们就来讲一讲NavigationAgent2D这个节点。该节点用于2D的导航代理它将寻路至某个位置并且在寻路的过程中能够躲避障碍物这个障碍物包括静态障碍物和动态障碍物。 躲避动态障碍物使用的是 RVO 防撞算法。 我们可以通过如下代码来获取节点节点的路径要如实填写也就是GetNode的参数。 private NavigationAgent2D navigationAgent;navigationAgent GetNodeNavigationAgent2D(NavigationAgent2D);设置目标位置 使用代理那我们就需要告诉他一个目标位置然后让它告诉我们移动到那个位置的路径这个位置我们可以通过设置TargetPosition属性来告诉我们的NavigationAgent2D节点。当TargetPosition属性被设置为一个特定的2D坐标时导航代理会自动计算并选择路径以选择尽可能快地路径移动到这个目标位置。 一旦TargetPosition被设置会向 NavigationServer 请求一条新的从当前代理位置到TargetPosition的导航路径。然后我们可以通过这个路径使该节点沿着路径移动以达到指定的目标位置。 该属性接收一个Vector2类型的值我们可以为其赋值代码如下所示 navigationAgent.TargetPositionnew Vector2(500.0f, 200.0f);这样或许有些麻烦因为我们需要打节点名再打属性名我们可以使用属性来对其进行一次封装如下所示 public Vector2 MovementTarget{get { return navigationAgent.TargetPosition; }set { navigationAgent.TargetPosition value; }}需要注意的是之前我们说过了TargetPosition被设置后会向 NavigationServer 请求一条新的从当前代理位置到TargetPosition的导航路径。而只有在第一帧物理模拟NavigationServer才可以进行同步而在第一帧物理模拟之前导航服务器是无法正常同步的。 这意味着我们如果直接在_Ready()方法中设置是会导致错误的因为_Ready方法会在物理模拟之前执行。此时导航服务器尚未初始化。导航服务器需要先完成初始化和同步才能够有效地进行导航操作。 所以我们使用异步等待的方法来等待第一帧物理模拟以便导航服务器可以同步。 我们通过使用 async 关键字来声明异步方法。异步方法可以在执行耗时操作时使程序能够在此期间继续执行其他工作而不会阻塞线程。这表示我们可以在异步方法内部编写一些长时间运行的操作或需要等待的异步操作。比如说我们一直等待直到第一帧物理模拟然后再为TargetPosition赋值。具体代码如下所示 private async void ActorSetup(){// 等待第一帧物理模拟以便导航服务器可以同步。await ToSignal(GetTree(), SceneTree.SignalName.PhysicsFrame);// 现在导航网格不再为空可以设置移动目标。MovementTarget _movementTargetPosition;}在 ActorSetup() 方法中我们使用了 await 关键字来等待第一帧物理模拟开始的型号。这意味着代码会暂停执行直到接收到 PhysicsFrame 信号后才会继续执行下面的代码。 ToSignal 方法该方法用于监听指定节点的信号。它返回一个 SignalAwaiter对象配置完成时为指定的节点发出了指定的信号。 ToSignal 方法的参数有两个 source要监听信号的节点对象。signal要监听的信号的名称。 而GetTree方法会返回包含此节点的 SceneTree。 然后我们调用该方法代码如下所示 Callable.From(ActorSetup).CallDeferred();首先通过使用 Callable.From() 方法将方法 ActorSetup 转换为一个可调用对象。 接下来使用 CallDeferred 方法对可调用对象进行延迟调用。延迟调用意味着该方法将在空闲帧期间调用而不会立即执行。延迟调用的作用是将方法推迟到稍后的时间点执行以便其他任务有机会执行。CallDeferred 方法可以接收参数这些参数应与方法的参数列表相匹配。在调用时传递的参数将作为对应方法的实际参数进行使用。 另外我们设置了目标位置后还需要做其他的工作这就与Unity有所不同Unity设置好目标后就可以自动的向着目标点移动而在Godot中我们需要在代码中自动编写移动逻辑设置了目标点后只是让引擎来帮你计算到目标点的路径而已并不帮你移动。移动代码我们要自己做。 其他文章 关于信号的讲解可以查看如下文章 Godot信号教程使用C#语言
http://wiki.neutronadmin.com/news/156799/

相关文章:

  • 天津智能网站建设找哪家手机怎么制作ppt
  • 无锡网站制作咨询中国建筑集团有限公司排名
  • 科技公司网站制作公司做个网站商城要多少钱
  • 个人导航网站如何赚钱备份的网站建设方案书
  • 怎么改版一个网站手机app开发最好的工具
  • 有网站制作app要多长时间建一个pc网站需要多少钱
  • 实惠网站建设企石网站建设
  • 百度查一下宁波网站排名优化公司
  • 肃宁县网站建设公司如何做好网站的推广工作
  • 手机单机游戏网站大全信息流优化师面试常见问题
  • 做网站需要学些什么软件ppt模板免费下载完整版免费无需会员
  • 网站免费网站免费陪玩百度百科分类方法
  • 网页设计班级网站用什么做首页青岛网站建设
  • python做网站入门聊城做网站公司聊城博达
  • 整站优化价格网站建设丶金手指下拉13
  • 展示型网站源码论坛网站搭建
  • 宝安做网站哪家好企业网站的网址通常包含
  • 深圳住房和建设局网站 龙华用wordpress做企业网站视频教程
  • 适合医药公司做网站的图片小说网站建设费用
  • php网站开发介绍大学生网页设计源代码模板
  • 嘉兴网站建设咨询站长之家查询
  • 商城网站建设代理商wordpress 幻灯片主题
  • 上海频道网站建设淘宝网站后台怎么做
  • 做的网站上更改内容改怎么学平面设计要多少钱
  • 免费企业网站建设哪种新网站秒收录技术
  • vue怎么做网站网站做重新定向 对网站有影响吗
  • 初识网站开发流程图建筑公司企业信用分在哪里查
  • 江西省建设监督网站快速网站建设服务
  • 广东集团网站建设现在哪个网站做电商好
  • 货运网站建设公司网站基本模板