用户:
天下第一皮卡丘查看:8 回复:7 评论:8 创建时间:2021-08-04T08:58:37
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
话不多说,直接上干货(Python代码)
import easygui as gui
import win32clipboard as wcb
import win32con as wc
class External_production_model(object):#外部制作的代码模型
def visit(self):
global s
s = gui.buttonbox(msg='参数内容包含:'+str(self.parameter), title=self.name, choices=('使用', '导出', '谢谢,不用'))
if s == '使用':
self.use()
elif s=='导出':
self.preservation()
def use(self):
self.prt=[]
for i in self.parameter:
self.prt.append(gui.enterbox(msg='请输入'+i +':',title='输入参数', default=''))
wcb.OpenClipboard()
wcb.EmptyClipboard()
wcb.SetClipboardData(wc.CF_TEXT, str(eval(self._return)).encode("gbk"))
wcb.CloseClipboard()
gui.msgbox(msg='完成', title='已完成,最终内容在复制板', ok_button='谢谢')
def create(self):
self.name=gui.enterbox(msg='请输入模型名', title='编辑模型', default='')
self.parameter=[]
for i in range(int(gui.enterbox(msg='请输入参数数量', title='编辑模型', default=''))):
self.parameter.append(gui.enterbox(msg='请输入第'+str(i)+'项参数(名)', title='编辑模型', default=''))
self._return = gui.enterbox(msg='请输入返回值(参数使用self.prt[项数]的格式表示,是字符串)', title='编辑模型', default='')
wcb.OpenClipboard()
wcb.EmptyClipboard()
wcb.SetClipboardData(
wc.CF_TEXT, (self.name+'&'+str(','.join(self.parameter))+'&'+self._return).encode("gbk"))
wcb.CloseClipboard()
gui.msgbox(msg='自动为您保存,最终内容在复制板', title='完成', ok_button='谢谢')
def preservation(self):
wcb.OpenClipboard()
wcb.EmptyClipboard()
wcb.SetClipboardData(wc.CF_TEXT, (self.name+'&'+str(','.join(self.parameter))+'&'+self._return).encode("gbk"))
wcb.CloseClipboard()
gui.msgbox(msg='已完成,最终内容在复制板', title='完成', ok_button='谢谢')
def _import(self):
s=gui.enterbox(msg='请输入导入内容',title='导入模型', default='')
s=s.split('&')
self.name=s[0]
self.parameter = s[1].split(',')
self._return = s[2]
class Internal_Imported_model(External_production_model):#内部存在的代码模型
def __init__(self,name,parameter,_return):
self.name=name
self.parameter=parameter
self.prt=[]
self._return=_return
model=External_production_model()
while True:
a=gui.buttonbox(msg='欢迎来到由立体工作室-天下第一皮卡丘研发的Box3 代码模型!',
title='Box3 代码模型!',choices=('官方模型','制作模型','导入模型','使用教程','关于作者','退出软件'))
if a=='官方模型':
gui.msgbox(msg='暂无官方模型', title='官方模型')
elif a=='制作模型':
model.create()
elif a=='导入模型':
model._import()
s=0
while s!='谢谢,不用':
model.visit()
elif a=='使用教程':
gui.msgbox(msg='参数是用来控制功能的',title='使用教程')
gui.msgbox(msg='首先要输入个数,再输入各个参数名', title='使用教程')
gui.msgbox(msg='最后的是以字符串输出的代码,使用的是Python', title='使用教程')
gui.msgbox(msg='导入和导出可以保存模型', title='使用教程')
gui.msgbox(msg='“使用”可以填写参数,通过参数得到最后的代码,方便编写', title='使用教程')
elif a=='关于作者':
gui.msgbox(msg='在Box3中活动,《逃离九宫岛》的作者',title='关于作者')
elif a == '退出软件':
gui.msgbox(msg='欢迎您再次来到 Box3 代码模型,方便您的代码编写!',title='退出')
break
注意啦,要想使用功能需要先下载easygui库(界面布局)和win32库(复制粘贴)!!! 注意啦,要想使用功能需要先下载easygui库(界面布局)和win32库(复制粘贴)!!! 注意啦,要想使用功能需要先下载easygui库(界面布局)和win32库(复制粘贴)!!! (重要的事情说三遍) 这个软件怎么用呢? 举个例子,我们做一个和实体交互可以说一句话,代码应该这样写:
const npc = world.querySelector('#NPC');
npc.enableInteract = true;
npc.interactHint = 'NPC';
npc.interactRadius = 10;
npc.onInteract( ({entity}) => {
npc.say('你好! ' + entity.player.name);
});
如果我们做成代码模型(以下简称模型),应该这样做:
点击制作模型:
输入模型名:NPC交互
输入参数数量:3(名字,交互名字,文字){在进行编写返回代码时,参数会被描述成 self.prt[项数] }
输入返回代码:
const npc = world.querySelector('+self.prt[0]+');
npc.enableInteract = true;
npc.interactHint = '+self.prt[1]+';
npc.interactRadius = 10;
npc.onInteract( ({entity}) => {
npc.say('+self.prt[2]+');
});
懂得都懂,这就是Python的''中的字符串拼接,只要一个eval就可以成功变成返回值嘛!
现在,我们的函数被保存在复制版中,可以找一个文本文档来保存它。
然后,再选择“导入模型”,把对应的三个参数填写好,就可以得到最终的代码了!
PS:现在,我向所有岛3代码师发出征集,有什么问题,可以向我提!
祝你们保住头发,健康、开森地生活着!

如风gvk你好厉害呀!,能和我这个地图合作么(目前招到两名建筑师,急需代码师
)论坛网址:https://shequ.codemao.cn/community/389547(地图名字随便起的,不要在意)
点赞2
评论