![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
minetest
文章平均质量分 83
玉兔金兔
这个作者很懒,什么都没留下…
展开
-
鬼火引擎入门相关知识熟悉
鬼火引擎入门相关知识熟悉一 Irrlicht简介概念 Irrlicht引擎是用C++写的高性能实时3D引擎。可以应用于C++程序或者.Net语言中,通过openGL或者自己的软件找色程序,可以实现跨平台。起源与发展 Irrlicht是一个德国神话故事中的一种动物的名字,它能够发光和飞翔,可原创 2017-08-07 22:46:48 · 1536 阅读 · 0 评论 -
Minetest源码分析十三:Mapgen
Minetest源码分析十三:Mapgenminetest->margen.h minetest->mapgen_v6.hMapgen:真实生成具体的地图。要生成什么样的地图,具体参数都是是这里设置。通过MapgenParams结构来存储传递参数的。类的实例初始化:在类EmergeManager中的initMapgens()中原创 2017-08-31 22:50:15 · 807 阅读 · 1 评论 -
Minetest源码分析十二:ServerMap
Minetest源码分析十二:ServerMapminetest->map.h/map.cppServerMap:生成地图的类,地图数据库的存储与访问,地图meta数据的存储与读取。处理MapBlock的存储以及获取生成;在这个类中会与数据库或者其它类型数据文件进行通信处理;另serverMap是继承于Map类的,所以还包括了Map类中的一些操作,譬如MapSe原创 2017-08-30 22:47:47 · 1003 阅读 · 0 评论 -
Minetest源码分析十一:EmergeManager
Minetest源码分析十一:EmergeManagerEmergeThread:生成地图的线程类class EmergeThread : public JThread{public: Server *m_server; ServerMap *map; EmergeManager *emerge; Mapgen *mapgen; bool原创 2017-08-29 19:30:48 · 520 阅读 · 0 评论 -
minetest mod 初步学习
minetest mod 初步学习MInetest一般有3种类型的对象Node (minetest.register_node): A block from the world.Tool (minetest.register_tool): A tool/weapon that can dig and damage things according to tool_capab原创 2017-08-04 08:30:31 · 1352 阅读 · 1 评论 -
Minetest源码分析十:MeshUpdateThread
Minetest源码分析十:MeshUpdateThreadminetest->client.h/client.cppMeshUpdateThread:Mesh 更新线程,这个线程主要是存储了需要更新的Mesh信息,且是线程安全的。类中主要是一个方法void * Thread(),以及两个成员变量MeshUpdateQueue m_queue_in,Mu原创 2017-08-24 22:29:17 · 466 阅读 · 0 评论 -
Minetest源码分析九:ClientMap minetest->clientmap.h/clientmap.cpp ClientMap创建调用 ClientMap只创建了一次,一个game
Minetest源码分析九:ClientMapminetest->clientmap.h/clientmap.cppClientMap创建调用ClientMap只创建了一次,一个game游戏只有一个ClientMap对象存在,它是由ClientEnvironment来管理的,ClientEnvironment是由Client来管理的。一个原创 2017-08-21 19:30:44 · 486 阅读 · 0 评论 -
minetest源码解析八:ClientEnvironment
minetest源码解析八:ClientEnvironmentClientEnvironmentminetest->environment.hclass ClientEnvironment : public Environment{void step(f32 dtime);ClientMap *m_map;原创 2017-08-18 23:28:27 · 606 阅读 · 0 评论 -
minetest源码解析三:菜单响应以及核心函数介绍
菜单响应以及核心函数介绍一 流程图二 流程图中涉及到的核心函数介绍1.点击响应鼠标事件在device->run()控制的循环体内,一直循环,当有鼠标事件时,CIrrDevice::run()->CIrrDevice::postEventFromUser()->CGUIEnvironment::postEve原创 2017-08-11 23:00:03 · 369 阅读 · 0 评论 -
minetest源码解析二:GUIEngine初始化、菜单刷新流程以及核心函数介绍
GUIEngine初始化、菜单刷新流程以及核心函数介绍一 流程图二 流程图中涉及到的核心函数介绍1.new TextDestGuiEngine初始换创建一个TextDestGuiEngine类实例,用于后期点击界面上文字位置时通过guiFormSpecMenu获取到相应的文字,然后能够通过函数知道点击了Ma原创 2017-08-11 22:58:41 · 924 阅读 · 0 评论 -
minetest源码解析一:mymain流程图以及核心函数介绍
mymain流程图以及核心函数介绍一 流程图二 流程图中涉及到的核心函数介绍1.创建游戏回调函数minetest->mainmenumanager.hg_gamecallback = newMainGameCallback(device);MainGameCallback :原创 2017-08-11 22:57:05 · 1424 阅读 · 1 评论 -
minetest源码解析六:Client与Server数据传递(Client端)
Client端信息接收、发送1.Client与Server数据通信Client与Server端的数据通信不是同步的,是异步进行的,数据都存放在Connection对象中。Client和Server都是在各自的线程中自己不停地去获取数据、发出数据命令。Connection minetest->connection.hServer服务原创 2017-08-17 23:41:33 · 511 阅读 · 0 评论 -
minetest源码解析七:Client端更新流程
minetest源码解析七:Client端更新流程客户端更新主要使用的函数是voidClient::step(float dtime)minetest->client.cpp这个函数作用是更新客户端,客户端主动去接收服务器端发过来的信息,然后对环境等进行更新。使用范围:都在the_game()这个函数中(minetest->game.cpp-原创 2017-08-17 23:45:50 · 491 阅读 · 0 评论 -
minetest源码解析四:game界面刷新绘制流程及核心函数介绍
game界面刷新绘制流程及核心函数介绍 一 流程图二 流程图中涉及到的核心函数介绍1.Draw "Loading"screen绘制点击start game之后的界面。主要涉及函数draw_load_screen(text, device, font,0,0);原创 2017-08-11 23:02:03 · 845 阅读 · 0 评论 -
minetest源码解析五:IGameDef、ItemDefManager、NodeDefManager类介绍
minetest源码解析五:IGameDef、ItemDefManager、NodeDefManager类介绍IGameDefminetest->gamedef.h 这个类中主要管理了游戏全局的一些定义。通过这个类接口可以获取它所有管理的对象指针。主要包括了TextureSource、ShaderSource、ItemDefManager、NodeDe原创 2017-08-16 21:38:25 · 598 阅读 · 0 评论 -
minetest 回调注册函数学习
一.注册函数仅在加载时候调用这些函数。二.全局回调的注册函数仅在加载的时候调用这些函数。 1.minetest.register_globalstep(func(dtime))每个服务器的step时被调用,一般是0.05s。dtime — 浮点的,自上一个全局step的时间。示例:loca原创 2018-01-09 21:55:25 · 724 阅读 · 0 评论