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

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

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

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

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

复制代码
extends Node2D

func _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.。

相关推荐
代钦塔拉1 小时前
【C++/Qt 进阶】设计模式系列(5):适配器模式——给“不兼容的接口“贴一层翻译膜
c++·qt·设计模式
aqiu1111111 小时前
蓝桥杯真题复盘:Fibonacci 数列与黄金分割(C++ 算法详解)
c++·算法·蓝桥杯
lojox1 小时前
C++ 手写 STL list(双向循环链表)原理剖析与实现
c++·链表·list
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:拓扑排序课程表排课解析
c++·python·算法·bfs·信息学竞赛
暖焰核心1 小时前
二叉搜索树——从插入查到key-value改写
c++
草莓熊Lotso5 小时前
【C++ 基于微服务的即时通讯系统】etcd + brpc 从安装到服务注册发现全链路实战
网络·数据库·c++·redis·微服务·etcd
把我格子衫拿来12 小时前
VTK 9.5 与 Qt 6 联合开发:从嵌入三维窗口到可维护的桌面架构
c++·python·qt·vtk·三维可视化
无忧.芙桃12 小时前
C++语言原理与实践(十六):多态机制讲解
开发语言·c++·多态
wuminyu14 小时前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
xxwl58514 小时前
区域赛分类题解
c++·笔记·学习·算法