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

Godot 官方2D C#重构(1):雪花碰撞

前言

Godot 官方 教程

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

Godot 2d 重构 github地址

实现效果

在这里插入图片描述

难点介绍

Godot GDScript和C# 对应关系大部分靠猜

文件导入

  • 资源地址:默认为res://开头
  • 2D贴图导入类型:Texture2D
public Texture2D Bullet_Image = new Texture2D();
Bullet_Image = GD.Load<Texture2D>("res://bullet.png");

2D属性赋值,PhysicsServer

PhysicsServer 用于给赋值属性和属性初始化

Shape = PhysicsServer2D.CircleShapeCreate();
PhysicsServer2D.ShapeSetData(Shape,8);

刷新UI

在_Process里面调用QueueRedraw

public override void _Process(double delta)
{QueueRedraw();
}

绘制UI

生成2D贴图

DrawTexture(Texture2D img, Vector2 position);

重载_Draw函数

    public override void _Draw(){var offset = -Bullet_Image.GetSize();//Godot重载了对应的运算符offset = offset /2;foreach (var item in bullets){DrawTexture(Bullet_Image, item.position + offset);}base._Draw();}

离开页面销毁

销毁

PhysicsServer2D.FreeRid(item.body);

离开页面销毁

    public override void _ExitTree(){foreach (var item in bullets){PhysicsServer2D.FreeRid(item.body);}PhysicsServer2D.FreeRid(Shape);base._ExitTree();}

定位到鼠标位置

重载 _Input函数,获取鼠标参数

public override void _Input(InputEvent @event)
{if(@event is InputEventMouseMotion){var mouseEvent = (@event as InputEventMouseMotion);Position = mouseEvent.Position;}base._Input(@event);
}
http://www.lryc.cn/news/198446.html

相关文章:

  • 计算机基础知识35
  • VulnHub mrRobot
  • 【MATLAB第79期】基于MATLAB的数据抽样合集(sobol、LHS、Halton、正交、随机函数)更新中
  • Lua快速入门教程
  • html资源提示符
  • VR智能家居虚拟连接仿真培训系统重塑传统家居行业
  • Defects4j数据集安装及使用
  • vant_ CountDown倒计时
  • spark集成hive
  • 提升微服务稳定性与性能:深入剖析Netflix Hystrix框架
  • IT运维管理系统在国有大型企业网络中的应用和可以解决的问题
  • 嵌入式实时操作系统的设计与开发 (线程操作学习)
  • 竞赛 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
  • 【RTOS学习】同步与互斥 | 队列
  • Python订单生成器+队列+异步提高性能和容错
  • 理德名人故事:全球投资之父-约翰.邓普顿
  • 微前端三:qiankun 协作开发和上线部署
  • HTML三叉戟,标签、元素、属性各个的意义是什么?
  • prometheus获取kubelet接口监控数据
  • 国产主控应用案例:汉王电子血压计-君正开发板
  • 万宾科技智能井盖传感器特点介绍
  • YoloV8改进策略:SwiftFormer,全网首发,独家改进的高效加性注意力用于实时移动视觉应用的模型,重构YoloV8
  • Jupyter Notebook在指定位置打开
  • 树控件的使用
  • C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性
  • 手机直播助手软件app哪个好用?
  • 腾讯待办宣布关停,哪款待办事项提醒APP好?
  • 【单片机毕业设计】【hj-006-7】CO、有害混合气体检测 | 空气质量检测 | 有害气体检测
  • wpf主页面解析
  • 三相交错LLC软启动控制程序算法实现---充电桩电源设计实战细节