本帖最后由 月与橘子叶 于 2020-12-27 17:58 编辑
原来如此吗,想实现的功能是概率触发剧情遇到随机NPC,可以选择是否收入队伍,选择是的话把他安排进空房间。其中角色用list保存,因为不确定NPC的数量,这取决于玩家是否触发剧情,而房间是固定的(可以自由建造),所以用dict保存。
代码大概这样(角色class类这里就不列出了):
[RenPy] 纯文本查看 复制代码 python:
men = Men(30,50,mid)
men.men_random()
glasses_random = men.glasses # 【眼镜】
hair_random = men.hair ## 【头发】
shirt_random = men.shirt ## 【衬衫】
pants_random = men.pants ## 【裤子】
tie_random = men.tie # 【领带】
image man = LayeredImageProxy("someone_random")
image half_man = LayeredImageProxy("someone_random",Transform(crop=(20, 0, 290, 500), xoffset=0)) #(x, y, width, height)
show man
[RenPy] 纯文本查看 复制代码 menu:
"带回家!":
python:
listMen.append(men)
mid += 1
tea_flag = True
if blue_num == 2 and red_num == 2 and special_num == 10:
m "房间不够了"
if bout==2 or bout==4 or bout==6:
m "天色晚了,该回家了。"
jump home
jump goout
jump choose_house
"告辞":
python:
del men
tea_flag = True
hide man
if bout==2 or bout==4 or bout==6:
m "天色晚了,该回家了。"
jump home
jump goout
房间界面显示角色代码大概这样:
[RenPy] 纯文本查看 复制代码 def red1_show():
for i in red_house1_list:
for j in listMen:
if i['位置'] == '1号房' and i['mid'] == j.mid:
body1 = 1
glasses_random1 = j.glasses # 【眼镜】
hair_random1 = j.hair # 【头发】
shirt_random1 = j.shirt # 【衬衫】
pants_random1 = j.pants # 【裤子】
tie_random1 = j.tie # 【领带】
elif i['位置'] == '2号房' and i['mid'] == j.mid:
body2 = 1
glasses_random2 = j.glasses
hair_random2 = j.hair
shirt_random2 = j.shirt
pants_random2 = j.pants
tie_random2 = j.tie
elif i['位置'] == '3号房' and i['mid'] == j.mid:
body3 = 1
glasses_random3 = j.glasses
hair_random3 = j.hair
shirt_random3 = j.shirt
pants_random3 = j.pants
tie_random3 = j.tie
然后重启游戏读档房间里的角色就统统不见了,不知道大佬能不能给点建议,十分感谢如果不用list保存也可以,但我不知道怎么解决NPC数量无上限的保存问题,请大佬指教
|