我想将字符串数组传递给new YT.Player(video, {
width: 606,
height: 344,
new YT.Player(video, {
width: "606",
height: "344",
中的函数,并让该函数使用第一个参数指定要绘制的形状类型来绘制每个形状。这是我的代码(在draw()
内部):
draw()
如果语句使用不同数量的参数,则省略号表示其他含义。我知道以这种方式将值传递给createShape()似乎是多余的,但这是我可以找到达到目的的最佳方法,并且我想知道如何使其工作。目前,此代码给我一个错误,并说params = new String[]{"LINE","0","0","2","3"};
if (params.length == 2) {
createShape(params[0],float(params[1]));
} else if (params.length == 3) {
createShape(params[0],float(params[1]),float(params[2]));
} ...
} else if (params.length == 5) {
createShape(params[0],float(params[1]),float(params[2]),float(params[3]),float(params[4]));
} ...
。
有什么办法解决这个问题,还是我必须为每种形状指定一个案例?
答案 0 :(得分:0)
您不能开箱即用,但是可以执行以下操作:
void createMyShape(String[] myArray){
if(myArray[0].equals("LINE")){
Shape s = createShape(LINE);
s.vertex(int(myArray[1]), int(myArray[2]));
s.vertex(int(myArray[3]), int(myArray[4]));
s.endShape();
}
else if ...
}
此函数解析myArray
参数,并使用if
语句采取正确的操作来创建形状。它还使用int()
函数来解析字符串数组。
请注意,这不是一个很好的设计。您可能不应该为此使用String数组。最好使用类来封装数据。