魔兽地图编辑器吧 关注:64,331贴子:3,827,642

有没有YDWE 专门讨论Lua 的群?

只看楼主收藏回复

看幻想全明星的那张魔兽版lua,好多东西看不懂,去百度的话,关键字不好输入
有些东西应该很简单,但目前的基础好难理解。
想快速学会,我想有这样的群,有人帮忙解释一些可能会容易很多。
------------------------------
--获得一条直线上的一点
--直线终点
--直线长度
--是否不超过终点
function mt:getLineDest(target, rng, flag)
if flag and self * target < rng then
return target
end
local angle = self / target
return self - {angle, rng}
end
------------------------------
如这个函数,我查了百度大概懂self变量的由来,然后看了这个函数,首先不懂的就有两点了。
1.条件过去了返回 【target】 + 【self - {angle, rng}】,条件过不去,就只返回1个值了。
为什么不是固定返回1个值,能2个,为什么能只返回1个,又能返回2个。
2.【self - {angle, rng}】 变量 减去 集 ,是表示什么?


IP属地:福建1楼2017-12-17 19:56回复


    IP属地:福建2楼2017-12-17 19:59
    收起回复


      IP属地:浙江来自iPhone客户端3楼2017-12-17 19:59
      收起回复


        IP属地:内蒙古来自Android客户端4楼2017-12-17 20:19
        收起回复


          IP属地:浙江来自iPhone客户端5楼2017-12-17 20:29
          收起回复
            function mt:getLineDest(target, rng, flag)
            //定义函数mt:getLineDest,参量为target, rng, flag
            if flag and self * target < rng then
            //如果flag参量存在且不为false(lua里面除了false和nil,其他一律为true),并且self和target的直线距离小于rng(这里的 * 表示的不是乘,而是指两个点之间的距离)
            return target
            //将target作为返回值
            end
            local angle = self / target
            //取self和target的角度,赋值给angle(这里 / 表示的不是除,表示前者到后者的角度)
            return self - {angle, rng}
            //返回 以self为起点,角度为angle,距离为rng的一个点
            end


            IP属地:上海6楼2017-12-17 20:48
            收起回复
              …喵呜嚼梨都是巨老


              IP属地:广东来自Android客户端7楼2017-12-18 10:04
              收起回复
                大佬大佬


                IP属地:河南来自iPhone客户端8楼2017-12-18 11:12
                收起回复
                  有没有群呀,另外如果有收费解答Lua问题的,也OK的哦,具体怎么收费,回复下,也可以加我QQ258115427私聊哦


                  IP属地:福建9楼2017-12-18 13:12
                  回复
                    具体实现 得看 具体运行环境的封装 war3里面 和 其它游戏应该会有写差别 主要看怎么个用法
                    核心思想就是 让war3能够调用到 lua的虚拟栈 并进行读写 管理 维护就可以了 然后对japi进行封装 或者双向调用
                    玻璃渣没有lua的api吧 不然就没有必要用j了
                    如果没有 应该需要本地代码来实现的吧 这样做真的好??? 如果在war3运行过程中 可以自定义读写内存 那还不是要玩完 这游戏就黄了


                    10楼2017-12-18 15:41
                    收起回复
                      lua只有一种数据结构 table 不管是所有的类 还是 对象 都由此而来
                      lua 是由运行时虚拟栈维护的 C++是 LState指针
                      所有的lua global数据都会保存在这个虚拟栈种 供你读写 一般global变量只作为根来使用 所以用量不大
                      lua解释执行 脚本 函数式 支持闭包 尾递归 不过这些***也不太用的多 看个人喜好 和其它脚本区别不大
                      大概就这些


                      11楼2017-12-18 15:41
                      收起回复
                        CTM 说我广告贴?????????有病


                        12楼2017-12-18 15:41
                        收起回复
                          先學lua,你lua都不會的話,肯定看不懂的


                          IP属地:广东来自Android客户端13楼2017-12-18 18:19
                          收起回复
                            你应该看他重载操作符部分,*重载成求距离的函数
                            /重载成求角度, -重载成极坐标移位,主要还是看文档看文档


                            IP属地:广东来自手机贴吧14楼2017-12-18 19:06
                            收起回复
                              表示lua教程看得我真心。。。有些专业名词是真的理解不了。


                              IP属地:广东来自Android客户端15楼2017-12-18 19:14
                              收起回复