注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 金庸系列游戏区 请教一个修改LUA函数传递的问题
查看: 1460|回复: 2

[diy专区] 请教一个修改LUA函数传递的问题 [复制链接]

帖子
239
精华
0
积分
120
金钱
1625
荣誉
0
人气
0
评议
0
发表于 2017-5-12 19:55:14 |显示全部楼层
希望有人能帮忙解答
lua中,怎么将function中产生的随机数,让其他几个function里调用而期间值不产生改变,(在同一个LUA文件中),比如:
function GetPlacePerson()
local place_list={0,1,32,70,111} ----设置地点
local pid_list={4,18,29} ----设置人物
local aa= place_list[math.random(#place_list)]
local bb= pid_list[math.random(#pid_list)]
return aa,bb
end

function lua01()
print(aa)
end

function lua02()
print(aa)
print(bb)
end

我用 local aa,bb= GetPlacePerson() 调用时,
lua01()中调用的aa和 lua02()中调用的aa值老是不一样,怎么样使值保持一致?

使用道具 举报

帖子
60
精华
0
积分
31
金钱
407
荣誉
0
人气
5
评议
0
发表于 2017-5-13 10:02:30 |显示全部楼层
本帖最后由 iouymm1314 于 2017-5-13 10:05 编辑

因为……你是分别调用了两次这个这样吧,你不要return,你用一个全局变量,JY.AA,JY.BB
这样,直接赋值给JY.AA,JY.BB,你的下面两个函数就不要再写 local aa,bb = XXXXX了
就直接用全局变量 JY.AA,JY.BB

使用道具 举报

帖子
239
精华
0
积分
120
金钱
1625
荣誉
0
人气
0
评议
0
发表于 2017-5-13 12:12:57 |显示全部楼层
是这个问题,刚实验了下,应该是可以了。
我之前也想到是两次调用产生不同的随机值,然后设置了全局变量。不过我设置的JY.Scene[aa]["跳转场景"]这样的,结果值传不过去,你说的JY.AA这样的是可以的,不知道为啥?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-3-29 19:37 , Processed in 0.335748 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到