从可用功能创建功能

时间:2017-01-05 20:17:01

标签: lua

我试图为游戏制作脚本,用已创建的功能替换可用功能。所以这是我的LUA代码:

function ifEmotePlayed(playerName, emoteID)
if emoteID == 0 then
print(playerName.." is dancing!")
end
end
return 
function eventEmotePlayed(playerName, emoteID)
end

我想要做的就是用ifEmotePlayed函数替换eventEmotePlayed函数

function ifEmotePlayed(playerName, emoteID)
if emoteID==0 then
print(playerName.." is dancing!")
end
end

而不是

function eventEmotePlayed(playerName, emoteID)
if emoteID==0 then
print(playerName.." is dancing!")
end
end

有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

如果你想重命名一个功能,你可以这样做:

myNewFunctionName = originalFunctionName

然后调用myNewFunctionName()与调用originalFunctionName()相同,因为myNewFunctionName现在指的是与originalFunctionName相同的功能。

在Lua中,函数是变量。

您还可以定义一个调用原始函数的函数,并传递如下参数:

function myNewFunction(a,b)
  return originalFunction(a,b)
end

但这显然不如你必须进行一次额外的函数调用那么高效。

如果你想用你自己的函数替换一个函数,所以原来的函数不会被执行,而是你只需要将你的函数分配给原始函数“name”(实际上你可以创建引用原始函数的变量)现在请参考你自己的功能)

function originalFunction(a,b)
  return a + b
end

function myOwnFunction(a,b)
  return a * b
end

originalFunction = myOwnFunction

现在originalFunction指的是您的功能,调用originalFunction(a,b)将返回ab的产品,而不是总和。import { browserHistory } from 'react-router' const middleware = routerMiddleware(browserHistory) 它与第一个例子中的相同,只是相反。