有一个更好的方法吗?我觉得我因为过于重复而做错了.
O = viz.pick(1, viz.WORLD)
BackSetts = ["set_b1b", "set_b2a", "set_b1a", "set_b2b"]
LeftSetts = ["set_l1a", "set_l1b", "set_l2a", "set_l1b"]
NormSetts = ["set_nr_a", "set_nr_b"]
Maps = ["MapA","MapB"]
if O.name in BackSetts:
for i in set(BackSetts)|set(Maps):
WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))
elif O.name in LeftSetts:
for i in set(LeftSetts)|set(Maps):
WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))
elif O.name in NormSetts:
for i in NormSetts:
WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))
Run Code Online (Sandbox Code Playgroud)
简单的变换是:
O = viz.pick(1, viz.WORLD)
BackSetts = ["set_b1b", "set_b2a", "set_b1a", "set_b2b"]
LeftSetts = ["set_l1a", "set_l1b", "set_l2a", "set_l1b"]
NormSetts = ["set_nr_a", "set_nr_b"]
Maps = ["MapA","MapB"]
anyset = []
if O.name in BackSetts:
anyset = set(BackSetts)|set(Maps)
elif O.name in LeftSetts:
anyset = set(LeftSetts)|set(Maps)
elif O.name in NormSetts:
anyset = NormSetts
for i in anyset:
WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))
Run Code Online (Sandbox Code Playgroud)
这需要注意 NormSetts 不会与 Maps 联合,如原始代码中所示。
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |