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

godot引擎c++源码深度解析系列一

许久没有使用c++开发过项目了,如果按照此时单位的入职要求,必须拥有项目经验的话,那我就得回到十多年前,大学的时代,哪个时候真好,电脑没有这么普及,手机没有这么智能,网络没有这么发达,信息传播没有此时的快,哪个年代,5毛钱一份的报纸或许真的很好。学习技术只能靠阅读大量的书籍来获取经验。

入职it这个行业以来,想必很多的同行,前辈们,都知道,软件开发唯一的要求,实践能力必须很强,不亲自实操,你永远不知道代码里有多少个坑,同样的一段代码,在A电脑能运行,在B电脑就运行不了,这就是环境对此的影响。

此时,看看身边的同事们,各有千秋,而自己呢,确又回到了当初。

Godot是一个开源的跨平台游戏引擎,用于开发2D和3D游戏。它由一个专注于游戏开发的非营利组织开发和维护。以下是一些关于Godot的示例代码:

extends Node2Dfunc _ready():var sprite = Sprite.new()sprite.texture = load("res://texture.png")add_child(sprite)

看了上述的代码是不是觉得很有熟悉的感觉,很简单。No,No,No,后面的还有很多。我们先来看下开发工具界面

 这个界面看起来还是很舒服的,如果你觉得不舒服,没有问题,打开源码,咱自己修改。前面说过godot是一个开源的游戏引擎,既然开源,那么我们就从源代码里来修改他的界面,看能否实现。

源码我们已经下载好了,如果你还没下载的话,可以参考下方的地址。

  1. 官方网站:Godot Engine - Free and open source 2D and 3D game engine
  2. 官方文档:Godot Docs – 4.1 branch — Godot Engine (stable) documentation in English
  3. GitHub仓库:GitHub - godotengine/godot: Godot Engine – Multi-platform 2D and 3D game engine

 看到上述的源码结构,确又不知道从哪里入手了,毕竟好久没有使用c++了,还好凭借着大脑中仅存的一点记忆,找到了程序的入口文件,开启了我阅读源码的路程。

既然找到了熟悉的感觉,那就开启第一个尝试,就是增加一个功能,实现用户打字练习的功能。

经过漫长的一天,总算是有些模样了,虽然丑点,但至少知道从哪里入口了。

当然了研究源码的目的不仅仅只是为了增加一个打字练习的窗口,还有好多的功能要实现,用一句话来表示那就是““路漫漫其修远兮,吾将上下而求索”。

Finally, after a day of tossing and turning, I used all my years of college experience, communicating in English, and returning to the original development language C++. Although ten years have passed, everything seems to be yesterday.。 

http://www.lryc.cn/news/97300.html

相关文章:

  • 【VB6|第21期】检查SqlServer数据库置疑损坏的小工具(含源码)
  • React的hooks---useCallback useMemo
  • 05. 容器资源管理
  • 通过ETL自动化同步飞书数据到本地数仓
  • MySQL基础扎实——MySQL中各种数据类型之间的区别
  • 每天五分钟机器学习:多项式非线性回归模型
  • ETH网络学习
  • 01-将函数参数化进行传递
  • 数据结构【栈和队列】
  • MATLAB | 产生阿尔法稳定分布噪声并作出概率密度函数
  • 深入浅出Pytorch函数——torch.softmax/torch.nn.functional.softmax
  • Vue2学习笔记
  • Java 悲观锁 乐观锁
  • 优惠券秒杀(二)
  • selenium的java方式打开IE浏览器
  • 分类评估指标
  • OpenCV:图像直方图计算
  • 用QFramework来重构 祖玛游戏
  • 生活杂记-显示器尺寸
  • 在CSDN学Golang云原生(Kubernetes Pod无状态部署)
  • @Bean的作用
  • 【论文阅读22】Label prompt for multi-label text classification
  • EasyExcel数据导出功能封装
  • 通过web.xml来配置servlet程序
  • umi 创建的项目中,如何配置多个环境变量
  • Mysql 5.7 连接数爆满 清理连接数
  • HTTPS工作原理
  • 十大基础算法
  • Java---第八章(字符串-----String,StringBuilder 和 StringBuffer)
  • k8s集群的部署