💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## 文档 > 准确的说,我并没有写文档的打算。**文档的话直接去类里查看,类中基本上都有详尽的说明,实在不明白,可以加Q群问我530683714。没错我就是群主**,我知道前提是你必须理解什么是类,什么是成员属性,什么是成员方法,什么是静态方法,什么public什么是private。 > 没关系,这些东西慢慢会了解,随便百度都能找得到。 > 去写这些说明并不是MEA方块类的初衷,它的初衷只是帮助你处理复杂的物理运算,帮助你避免踩坑,仅此而已。 关于方块类的用法,经过了一段时间,多个脚本的开发测试,结论是肯定的。 MEA方块类确实能大大提高开发效率。 为什么建议用MEA方块类而不是直接使用K社的API呢? 1. K社的API说明不全,很多接口只能凭猜测和测试才知道它是干么用的。例如:K社的转子有两个属性,从名字上能看出一个是转子的当前角度UpperLimitRad(弧度制),另一个是转子的当前角度UpperLimitDeg(角度制)。如下图: ![](https://box.kancloud.cn/6218a855901f9e0ca52a2a8e481d58b7_770x628.png) 然而当你去用的时候,你会有一种吃了屎的感觉。UpperLimitRad和UpperLimitDeg其实都是弧度。这种坑,踩了半天才知道为什么。而使用MEA方块类,至少不会给你留这种坑让你去踩。 2. K社的API不定期的修改或废弃,比如推进器。之前的推进器接口是这样的: ![](https://box.kancloud.cn/dca66970ee43ebcb146012fde74264a6_554x500.png) 可以看到,并没有设置当前推力的方法,所以所有的脚本都是通过它继承IMyTerminalBlock中的一个叫 SetValueFloat("name", value);的方法来设置出力。当时这个方法设置的出力,是百分比制,也就是100为100%出力,和K表中的滑块一致。 而后来某一天,突然把接口改成了这样: ![](https://box.kancloud.cn/5a59134172b81688c7ad68f2352ede42_692x449.png) 新增了两个设置推进器出力的可写属性。看名字就知道一个是设置推力(牛顿),另一个是设置推力(百分比)。增加API是好事,但是之前的SetValueFloat("name", value);方法,也被K社悄悄的修改了。这个方法之前所有的推进器相关脚本都在用,都是按照百分比在使用,而更新以后突然变成了牛顿为单位,这导致了什么? 这造成之前所有推进器相关的脚本,一夜之间最大推力只有100N,好多玩家过来问我?为什么自动采矿的脚本飞不动了?为什么无人机的脚本飞不动了?为什么导弹飞不动了? 如果使用MEA方块类,至少当K社出现类似的问题的时候,我们可以通过更新一下方块类中的某一行代码,来让方块类的属性或方法保持与原来一直,这种向后兼容的思路,是任何程序设计者都应该考虑的。K社你们的基本节操呢? 3. K社的API很多方法并不容易写,也不容易算。例如获取方块的开关状态,需要走GetValueBool("OnOff");而没有特定的属性直接获取,这样一方面增加了获取的代码量,另一方面对于API不熟悉的玩家,他们就算C#写得再6,也找不到方法去获取一个方块的开关状态。再例如摄像头锁定目标,API如下: ![](https://box.kancloud.cn/62072d1133d3796a2122b1e85517c4df_830x623.png) 摄像头激光返回一个目标对象,来看看碰撞点 HitPosition 的类型,Vector3D?,这特码是个什么类型???世界坐标系里全是Vector3D,这里突然来个Vector3D?,这让玩家怎么去转换?再看看目标速度,Vector3,这特码又是什么类型? 所以在MEA方块类里,基于我之前编写脚本的经验,对这些奇怪的东西,都做了处理,统一了变量类型。