第十五章 战斗排名榜

加入书签


    看着魔法纸上这一堆代码,李维斯觉得有点杂乱了。

    写了已经五六百行代码,各种功能杂糅在了一起。

    行数不多还好,多了就是所谓的屎山代码。

    从目前的功能来看,应该要做一个简单易容界面出来才对的。

    随着功能增多,没有一个可视化的界面,那些功能用起来就会很繁琐。

    现在李维斯只是靠着读取念头来执行对应的功能。

    一个魔法就是一个念头,再加上一些MagicUtil里实用的静态函数又是一个个念头。

    如此多念头的条件判断,会让代码看起来很臃肿。

    所以需要一个界面来管理。

    李维斯首先是按照功能划分模块。

    释放未改造过的魔法是一个模块;

    释放已改造过的魔法是一个模块;

    魔法与魔法符号的相互转换是一个模块;

    管理所有魔法的信息是一个模块,管理指的是增加、查找与修改魔法信息;

    自身的属性面板是一个模块;

    人物、魔物、资源信息是一个模块;

    调试魔法也是一个模块。

    其中释放魔法是不用做界面的。

    因为用念头释放比按下按钮释放要方便得多。

    而且魔法一多,那按钮看着就会密密麻麻的。

    其余的模块都需要分别做一个界面,然后塞到一个主界面里。

    主界面里再加一个选项卡控件。

    每个模块就是一个选项卡,点击这个选项卡就显示出对应模块的界面。

    界面的思路大致是这样。

    但由于没有智能提示,做起来要花挺多时间的,所以不急着现在就做。

    现在应该去卖掉留了后门的控爆术和加速术,再多买一些魔法。

    特别是隐身术,治愈术。

    至于索敌术倒是不需要了。

    因为根据那个获取范围内活物的函数,李维斯自己也能写出来。

    得到了活物后,输出他们的位置坐标就行了。

    只是不知道“坐标”该用哪个英语单词而已。

    而且这个坐标也有讲究。

    在游戏引擎中,3d物体的坐标分为局部坐标和世界坐标。

    局部坐标就是子物体相对于父物体的坐标。

    世界坐标就是物体本身在场景中坐标。

    想准确拼出这个坐标的英文单词还是有些难度。

    要用穷举法去试有可能是的单词。

    “不对啊,可以用反射嘛。”

    李维斯突然反应过来。

    反射是可以让程序在运行期间获取程序集和类的相关信息。

    简而言之就是通过一个函数获取一个类内的属性、特性、方法等信息,不论它是公开的还是私有的。

    在不能查看源码时,反射是一个很有用的方法。

    也许能一窥魔法代码的奥秘。

    想到这,李维斯也不由得有些激动。

    利用反射获取类信息的代码也不复杂。

    他马上写出了反射读取主角类的代码。……
    本章未完,请点击下一页继续阅读!

本站网站:www.123shuku.com