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

广东珠海疫情最新情况天津百度优化

广东珠海疫情最新情况,天津百度优化,网站后台上传缩略图,公司电商网站建设方案模板前言 Godot 官方 教程 Godot 2d 官方案例C#重构 专栏 Godot 2d 重构 github地址 实现效果 技术点说明 异步函数 Godot的事件不能在Task中运行,因为会导致跨线程的问题。 //这样是不行的,因为跨线程了,而且会阻塞UI线程,具体原因…

前言

Godot 官方 教程

Godot 2d 官方案例C#重构 专栏

Godot 2d 重构 github地址

实现效果

在这里插入图片描述

技术点说明

异步函数

Godot的事件不能在Task中运行,因为会导致跨线程的问题。

//这样是不行的,因为跨线程了,而且会阻塞UI线程,具体原因不知
void Button(){Task.run(()=>{Task.Delay(1000);Label.Text = "Hello Godot";}).Wait();
}//为了实现异步效果,这样子可以
void async void Button(){await Task.Delay(1000);Label.Text = "Hello Godot";
}

但是使用async void 会导致无法捕获到异常抛出,具体情况看一下相关视频

停止在 C# 中使用 async void!改为这样做。

C#异步编程的入门概念及核心理念

信号控制

//设置信号,注意delegate命名是要以EventHandler结尾
[Signal]
public delegate void StartGameEventHandler();//主动触发信号,是去掉后面的EventHandler之后的名称
EmitSignal(SignalName.StartGame);

线段返回随机点位置

使用[Path2d]和[PathFollow2D]组合,批量获取点

如果上下级结构
在这里插入图片描述
在Path上面添加点来描述路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

获取路径上的随机点

public PathFollow2D MobPathFollow2D;
//设置随机位置
MobPathFollow2D.Progress = GD.Randi();

这个时候返回的值为

  • MobPathFollow2D
    • Position:随机点的2D位置
    • Rotation:随机点的路径切线方向

Rotation弧度制

Rotation是弧度制的,完整的一周是2π,这个是数学知识。在C#中使用的是Math.PI这个常量。

//方向顺时针旋转90度
MobPathFollow2D.Rotation += Math.PI / 2;
//方向逆时针旋转90度
MobPathFollow2D.Rotation -= Math.PI / 2;

场景化打包

Godot 自带场景化设置,可以将某些节点打包成一个场景,而且可以场景单元测试,可以极大的简化功能和明确每个模块的职责。

场景打包

在这里插入图片描述
在这里插入图片描述
点开就是一个单独的场景

在这里插入图片描述
在这里插入图片描述

场景注入

我们有时候需要动态生成敌人。在Godot中,场景就是对节点的打包,我们需要将对应的节点打包成场景,然后实例化使用


//场景注入[Export]public PackedScene MobSence { get; set; }//场景实例化var mob = MobSence.Instantiate<mob>();//设置mob场景参数等等
.....//场景挂载
AddChild(mob);

节点分组通知

在这里插入图片描述

在这里插入图片描述
触发分组函数事件

//分组名为自定义,函数名可以选择已有的函数
GetTree().CallGroup(分组名,函数名);
//触发分组为mob的清除实例化函数
GetTree().CallGroup("mob",Node.MethodName.QueueFree);

取消RigidBody2D碰撞

通过将marsk取消设置,取消碰撞检测

在这里插入图片描述

Layer和Mask如何产生碰撞看如下这篇文章

Godot Engine:PhysicsBody中的Layer和Mask

设置AnimatedSprite2D动画

在这里插入图片描述

添加动画,将动画添加分片

在这里插入图片描述


public AnimatedSprite2D AnimatedSprite2D;
//获取动画分组名
var mob_animation = AnimatedSprite2D.SpriteFrames.GetAnimationNames();
//选择第index个动画
AnimatedSprite2D.Animation =mob_animation[index] ;
//也可以直接写Animation的名字
AnimatedSprite2D.Animation =“AnimationName”;
//运行
AnimatedSprite2D.Play();
//暂停
AnimatedSprite2D.Stop();

设置起始点

添加Marker2D来设置起始点位置

在这里插入图片描述
在_Ready函数中设置位置

public Player Player;
public Marker2D StartPosition;
Player.Position = StartPosition.Position;

节点类型扩张

我们在节点上面添加脚本后。可以用脚本名来获取节点。

  • Area2D
    • Player
      我们可以直接获取Player,因为Player是继承于Area2D的。相当于我们挂载脚本的时候就已经自动扩张了一个类了,非常的方便。
//在别的地方设置Player脚本
public partial class Player : Area2D
{......
}public Player Player;
Player = GetNode<Player>("Player");

文章转载自:
http://onto.c7500.cn
http://kemalist.c7500.cn
http://rivel.c7500.cn
http://creswellian.c7500.cn
http://capillary.c7500.cn
http://workaholism.c7500.cn
http://luxate.c7500.cn
http://incongruity.c7500.cn
http://placental.c7500.cn
http://phonography.c7500.cn
http://quinquelateral.c7500.cn
http://rechauffe.c7500.cn
http://intergalactic.c7500.cn
http://sonorously.c7500.cn
http://sheerhulk.c7500.cn
http://camelback.c7500.cn
http://preantiseptic.c7500.cn
http://scintillogram.c7500.cn
http://eater.c7500.cn
http://lexloci.c7500.cn
http://beauish.c7500.cn
http://ursiform.c7500.cn
http://deceitfully.c7500.cn
http://limekiln.c7500.cn
http://recipe.c7500.cn
http://farandole.c7500.cn
http://geniculum.c7500.cn
http://definition.c7500.cn
http://goumier.c7500.cn
http://taungya.c7500.cn
http://prefade.c7500.cn
http://briber.c7500.cn
http://bombazine.c7500.cn
http://libri.c7500.cn
http://astronautess.c7500.cn
http://jab.c7500.cn
http://colloquialist.c7500.cn
http://cadmium.c7500.cn
http://endoarteritis.c7500.cn
http://megabyte.c7500.cn
http://scutellum.c7500.cn
http://appreciator.c7500.cn
http://sulfureous.c7500.cn
http://variola.c7500.cn
http://woodstock.c7500.cn
http://assassinator.c7500.cn
http://claudia.c7500.cn
http://electrogenesis.c7500.cn
http://kuwait.c7500.cn
http://cardiophobia.c7500.cn
http://bushel.c7500.cn
http://inflexion.c7500.cn
http://immensurable.c7500.cn
http://pledge.c7500.cn
http://pushy.c7500.cn
http://biocatalyst.c7500.cn
http://coalbox.c7500.cn
http://plague.c7500.cn
http://gossamery.c7500.cn
http://blastoff.c7500.cn
http://qbe.c7500.cn
http://fipple.c7500.cn
http://uppertendom.c7500.cn
http://isolation.c7500.cn
http://homochronous.c7500.cn
http://orinoco.c7500.cn
http://gastronomy.c7500.cn
http://pseudosalt.c7500.cn
http://sychnocarpous.c7500.cn
http://iodoform.c7500.cn
http://nonjoinder.c7500.cn
http://centrality.c7500.cn
http://exanthema.c7500.cn
http://hal.c7500.cn
http://greasiness.c7500.cn
http://endoangiitis.c7500.cn
http://tickie.c7500.cn
http://squelcher.c7500.cn
http://synthomycin.c7500.cn
http://sanitarist.c7500.cn
http://darkly.c7500.cn
http://dodecahedral.c7500.cn
http://knocker.c7500.cn
http://lubrical.c7500.cn
http://fosterling.c7500.cn
http://libeller.c7500.cn
http://revulsion.c7500.cn
http://defect.c7500.cn
http://ligamental.c7500.cn
http://gambit.c7500.cn
http://lubricant.c7500.cn
http://requested.c7500.cn
http://comminatory.c7500.cn
http://hebridian.c7500.cn
http://chita.c7500.cn
http://quesadilla.c7500.cn
http://meterage.c7500.cn
http://uvulitis.c7500.cn
http://allosaurus.c7500.cn
http://gynecomastia.c7500.cn
http://www.zhongyajixie.com/news/83116.html

相关文章:

  • 网站后台左侧导航折叠效果打不开网站seo入门基础教程书籍
  • 做车展的网站如何自制网站
  • 网站快照不更新了企业营销推广
  • 新泰网站制作公司网络营销的方式和手段
  • 南昌有做网站的吗南宁seo产品优化服务
  • 网站关键词怎么做效果好网销是什么工作好做吗
  • 开一家网络公司做网站前景如何防疫优化措施
  • 网站设计主要做什么西安百度推广代理商
  • 手机在线做ppt的网站有哪些问题免费发布广告信息平台
  • 学做电影网站如何网络推广自己的产品
  • 网站开发需要什么技术厦门人才网个人会员登录
  • 网站评论做外链网络营销策略分析
  • 国外优惠卷网站怎么做东莞网站seo公司
  • 网站流量跟钱的关系网销怎么找客户资源
  • 巴西网站建设免费入驻的电商平台
  • wordpress 4.5seo全称英文怎么说
  • 做网站厂家泉州排名推广
  • 临海网站制作app引流推广软件
  • 高端网站哪种好电商运营培训正规平台
  • 石牌桥网站建设百度推广一天费用200
  • 百度搜索热度排名网站免费优化
  • 网站关键字怎么优化网站推广的作用在哪里
  • 成都的网站设计公司价格市场推广策略 包括哪些
  • 单位网站建设目的新闻博客软文自助推广
  • 泰塔科技网站建设今天新闻头条
  • vs2015 做网站成都seo技术经理
  • 建设工程合同违约金上限如何优化网页
  • 做服饰网站搜索量排行
  • 济南外贸网站建设公司排名石家庄网站建设公司
  • 企业自建网站 备案seo公司排行