如果您希望能够将 1 到 3 个参数传递给它,是否有可能使您不必重载函数定义 3 次?
例如,而不是:
function(class a) { //this is called if only 1 class is passed
instance 1 = a;
}
function(class a, class b) { //this is called if 2 classes are passed
instance1 = a;
instance2 = b;
}
function(class a, class b, class c) { //this is called if 3 classes are passed
instance1 = a;
instance2 = b;
instance3 = c;
}
你可以有:
function(class a, <if2class>class b, <if3class>class c) //this is called
//for all passes
// <ifxclass> is not a real command, I'm using it for demonstration
{
instance1 = a; //always
instance2 = b; //if class b is passed
instance3 = c; //if class c is passed
}
对于函数调用...
function(first, second) //example of a function call with this code
编辑:实际用途的解释:
bossbattle(biglion, bigtiger);
bossbattle(biglion);
bossbattle(hades, biglion, biglion);
//where inside bossbattle it sets the classes passed in to temporary classes
//for battle. that's why I need a variable number of parameters
我已经为普通敌人创建了一个战斗系统,它调用了一个函数,根据随机普通敌人的分层百分比随机填充 1-3 个点。我正在尝试使用相同的战斗系统,但具有不同的功能(即boss battle()
)用boss战填充战斗系统。临时敌人用于战斗的类实例位于一个名为的数组中Enemy battlefield monsters[3]
,并且我在数组的每个实例中都有一个布尔值isalive
,如果在其中调用参数,我希望将其设置为 truebossbattle()
所以例如,isalive = true
如果有3 个传入 3 个参数,bossbattle()
但如果仅传递 1 个参数,则只有 1 个设置为 true。