亲,双击屏幕即可自动滚动
第213章 简单的插件
    从插件开始入局游戏引擎似乎是个不错的选择。

    游戏引擎也有插件?

    没错,一款游戏引擎问世以后虽然很强大,但也不是能像像瑞士军刀一般能解决各种各样的场景。

    这个时候一些插件作为游戏引擎的补充就很有必要了。

    之前在开发《llclbrag的时候林灰灵机一动想到的err2dterratl其实就是一个插件。

    这种插件常常被用来开发2d场景中的地图。

    除此之外,还有很多插件。

    虽然这个时空游戏引擎不少,但游戏引擎插件可不少。

    很多开发者和开发公司都会顺带鼓捣些游戏引擎插件以使游戏引擎效率更高。

    在这种情况下,林灰入局游戏引擎的插件也不至于引发什么涟漪。

    不过问题来了,在一堆游戏插件的红海中林灰能杀出重围吗?

    当然能,毕竟林灰有信息差的优势。

    同样是err2dterratl这款游戏的插件。

    2021版本的该插件比14年的该插件实用性不知道高到哪去了。

    更何况林灰硬盘里一堆现成的插件。

    这种情况下,林灰想入局游戏引擎的插件未必不能杀出一条血路。

    虽然2021版本的err2dterratl该插件比14年的该插件实用性不知道高到哪去了。

    但林灰并不打算截胡,林灰打算由易到难,先从普通的游戏插件入手。

    而什么样的插件简单呢?

    最基础的应该是涉及到2d游戏碰撞检测的插件。

    在2d游戏中,一般存在模拟重力和阻挡物的存在。

    而在游戏中的业务对象,例如人物、飞机、宠物、道具物品等,受到用户的操作控制,需要实现业务对象在地面上行走、掉落、不可通过地形的阻挡等移动,或者,需要实现诸如射击类游戏中的子弹等道具物品飞行、命中等动作,经常在游戏中发生碰撞。

    因此,在2d游戏中需要进行碰撞检测。

    比如利用就可以实现简单的碰撞检测。

    这种方法在检测两个对象是否碰撞主要看二者是否重叠。

    具体地,通过判断两个业务对象(例如人物的显示对象)之间,是否有像素点的重叠。

    如果有,则判断这两个业务对象发生碰撞;如果没有,则判断这两个业务对象没有发生碰撞。

    话说,,,版。】

    除了这种方法还有很多检测碰撞的方法。

    很多人对检测碰撞都有不错的思路。

    在这种情况下林灰以grayret的身份搞一个检测2d游戏中碰撞的插件也没啥。

    林灰在前世那台tkpad里翻找了一会。

    几乎没怎么费力就找到了一个适用于nty游戏引擎的2d游戏碰撞检测的插件。

    这个插件前世存在,这个时空却不存在。

    这无疑大概率将成为林灰这个重生者的福利。

    而且以林灰的眼光来看这个2d游戏碰撞检测插件还算不错。

    这个碰撞检测插件确实要比nty游戏引擎里面自带的碰撞检测装置好用一丢丢。

    但其实两者功能性上的区别其实不是很大。

    林灰之所以说这个2d游戏碰撞检测插件“还算不错”不是从“这个插件多么多么好用”这个角度出发的。

    而是从插件的设计风格来说的。

    这个2d游戏碰撞检测插件几乎不带任何开发者的个人风格,十分简约。

    这种情况无疑意味着林灰搬运的可行性。

    要知道有的项目虽然技术不复杂。

    但由于开发者个人风格极其浓厚,实际上这类项目是很难搬运的。

    这类项目贸然搬运的话只会带来一些麻烦。

    而具体到现在这个2d游戏碰撞检测插件则没那么多麻烦事。

    虽然搬运这个2d游戏碰撞检测插件是可行的。

    但名字什么的还是要改动一下的。

    林灰是资深起名废。

    苦思冥想许久,林灰也没想出比较牛比的名字。

    林灰干脆直接将这个插件随便起了一个中规中矩的名字:

    ——cra2d

    这之后,林灰又仔细检查了几遍这个插件所涉及到的底层内容。

    还好这只是一个很小的插件,加上林灰工作效率很高思维很活跃。

    因此检查起来并不是很费力。

    在确定没什么撞车的隐患之后。

    林灰就将cra2d这个插件上传到nty游戏引擎的插件库里。

    插件库似乎是这个时空独有的产物。

    和前世到处找插件的局面不同,这个时空nty还有官方的插件库。

    这让林灰稍稍有点意外。

    前世的插件基本都是散装放养的,而不是像现在这样圈养。

    至于为什么nty搞个这样的插件库?

    在性能不够先进的情况下,似乎也只能通过类似于官方社区这种东西培养用户情感。

    上传cra2d这个插件的时候,林灰使用的是grayret这个身份而不是再换一个新马甲。

    马甲再换多一些,林灰估计他本人都快分不清了。

    而且之前微博上无端兴起又莫名结束的风波已经证明了马甲太多并不是好事。

    虽然grayret这个马甲一贯是林灰拿来开发游戏的。

    但现在开发点游戏引擎也没什么。

    之前林灰就已经考虑过这点了。

    很多牛比的游戏开发公司在开发游戏时甚至会顺手搞定游戏引擎。

    至于说普通的游戏开发者,虽然没有单撸游戏引擎那么离谱。

    但一些牛比的游戏开发者在使用游戏引擎开发游戏的时候都顺带着开发一些游戏引擎的插件也不是不可能。

    以林灰grayret现在对应的名声,顺手搞定几个游戏引擎插件在外人眼中根本激不起什么水花。

    此举不但不会引起外界的质疑,而且很可能为林灰收获新一轮的赞誉。

    具体到cra2d本身。

    值得一提的是,涉及到nty这款游戏引擎的插件如果非要细分的话。

    其实可以细分为两种的,一种是托管插件,另一种是原生插件。

    托管插件使用的是valtd等工具创建的托管程序集。

    此类插件仅包含代码,因此无法访问库不支持的任何功能。

    不过,因为nty使用的标准工具是可以访问托管代码来编译脚本的。

    因此,托管插件代码和nty脚本代码之间几乎没有用法差异。

    相比于托管插件,原生插件是特定于平台的本机代码库。

    插件可访问操作系统调用和第三方代码库等功能。