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

丽江市网站建设制作wordpress插件路径

丽江市网站建设制作,wordpress插件路径,网络营销的特点包括超前性,贵阳网站排名优化文章目录 运行结果2D导航概述开始前的准备2D导航创建导航网格创建角色 其他文章 运行结果 2D导航概述 Godot为2D和3D游戏提供了多个对象、类和服务器,以便于基于网格或基于网格的导航和路径查找。 说到导航,就得说一下导航网格,导航网格定义…

文章目录

  • 运行结果
  • 2D导航概述
  • 开始前的准备
  • 2D导航
    • 创建导航网格
    • 创建角色
  • 其他文章

运行结果

在这里插入图片描述

2D导航概述

Godot为2D和3D游戏提供了多个对象、类和服务器,以便于基于网格或基于网格的导航和路径查找。

说到导航,就得说一下导航网格,导航网格定义了角色可以站立和移动的区域,以其中心为基准。

本文章内容主要以官方文档为主,链接如下:官方文档导航部分

开始前的准备

为你的项目设置合适的窗口大小,如下图所示,宽度和高度自定义。
在这里插入图片描述

2D导航

创建导航网格

接下来,我们就创建一个导航网格。
首先为你的场景添加一个地图,也就是玩家可以走的路,这里随便弄,如下图所示。
在这里插入图片描述
接下来添加一个NavigationRegion2D组件。
在这里插入图片描述
单击该组件,在检查器窗口中,新建一个Navigation Polygon。
在这里插入图片描述
接着,点击该属性,在场景中绘制你的导航网格,如下图所致。连接第一个点和最后一个点可以完成导航网格的绘制。
在这里插入图片描述

注意在导航多边形的边缘和碰撞对象之间留出足够的间距,以避免路径跟随的角色在碰撞中反复被卡住。

创建角色

创建一个CharacterBody2D节点。为其添加Sprite2D子节点,为Sprite2D的Texture属性赋值,给他弄一个角色图片,任意即可。为CharacterBody2D添加CollisionShape2D子节点,为其Shape属性添加一个形状。调整大小以契合Sprite2D。
在这里插入图片描述
然后为CharacterBody2D添加NavigationAgent2D节点,最后结果如下图所示:
在这里插入图片描述
为CharacterBody2D节点添加一个MyCharacterBody2D脚本,并为其编写如下内容:

using Godot;public partial class MyCharacterBody2D : CharacterBody2D
{private NavigationAgent2D _navigationAgent;private float _movementSpeed = 200.0f;private Vector2 _movementTargetPosition = new Vector2(500.0f, 200.0f);public Vector2 MovementTarget{get { return _navigationAgent.TargetPosition; }set { _navigationAgent.TargetPosition = value; }}public override void _Ready(){base._Ready();_navigationAgent = GetNode<NavigationAgent2D>("NavigationAgent2D");// These values need to be adjusted for the actor's speed// and the navigation layout._navigationAgent.PathDesiredDistance = 4.0f;_navigationAgent.TargetDesiredDistance = 4.0f;// Make sure to not await during _Ready.Callable.From(ActorSetup).CallDeferred();}public override void _Process(double delta){base._Process(delta);_movementTargetPosition=GetMouseClickPosition();Callable.From(ActorSetup).CallDeferred();}public override void _PhysicsProcess(double delta){base._PhysicsProcess(delta);if (_navigationAgent.IsNavigationFinished()){return;}Vector2 currentAgentPosition = GlobalTransform.Origin;Vector2 nextPathPosition = _navigationAgent.GetNextPathPosition();Velocity = currentAgentPosition.DirectionTo(nextPathPosition) * _movementSpeed;MoveAndSlide();}private async void ActorSetup(){// Wait for the first physics frame so the NavigationServer can sync.await ToSignal(GetTree(), SceneTree.SignalName.PhysicsFrame);// Now that the navigation map is no longer empty, set the movement target.MovementTarget = _movementTargetPosition;}public Vector2 GetMouseClickPosition(){Vector2 mousePosition = GetGlobalMousePosition();return mousePosition;}
}

最终运行结果如下图所示:
在这里插入图片描述

其他文章

Godot实现闪烁效果
Godot信号教程

http://www.hyszgw.com/news/77041.html

相关文章:

  • 网站建设服务器主板1150针包头网站建设公司良居网络
  • 做旅游攻略的网站付费可见wordpress
  • 网站ip地址向谁购买网站的元素有哪些
  • 网站开发 cms免备案手机网站
  • 在线做网站图标怎样建设一个内部网站
  • 网站备案用的幕布网站建设五合一是指什么
  • 营销型网站建设公司排名个人建网站一般多少钱
  • 上海建站模板源码北京市建设公租房网站
  • 温州网站优化搜索wordpress主题摄影
  • 眉山网站推广群晖 wordpress加载慢
  • 怎样做网站二维码培训机构网站如何建设
  • 深圳 网站新产品开发的5个步骤
  • 网站建设2000元本地安装wordpress nginx
  • 网站备案怎么办罗湖做网站58
  • 重庆网站建设公司有哪些嘉兴新闻头条最新消息
  • 网站功能报价明细表如何建立网站后台
  • 做网站还需要买空间吗app商城系统
  • 佛山市住房和建设局网站首页软文内容
  • 成都专业的网站建设公司手机怎么制作钓鱼网站
  • 长春教做网站带维护的培训机构佛山专业网站建设报价
  • 坪地网站建设基本流程网站个人备案 企业备案
  • 网站开发的项目开发计划专业团队是什么意思
  • 专业网站优化关键词青岛永诚网络科技有限公司
  • 怎么自己写网站深圳深圳龙岗网站建设
  • 建设英文网站费用做网站的系统功能需求
  • 国旗做网站按钮违法吗福州网站排名优化
  • 西安专业承接网站搭建模板郑州seo课程
  • 宣武网站建设服务网站开发工程论坛
  • 南通seo网站推广费用网站备案收费吗
  • 网站运营难做吗网站的字体颜色