Exemple #1
0
def ui_all_components():
    def button_result():
        a.page()
        a.h('作为一个按钮,我被按了。')
        a.t()
        a.b('返回', a.back)

    def rate_result(new_rate):
        print('当前评分为{}分。'.format(new_rate))

    def radio_result(new_ratio):
        print('现在选中了“{}”。'.format(new_ratio))

    def input_result(new_input):
        print('输入框中的值为:“{}”。'.format(new_input))

    a.page()  # 新建一个页面
    a.h('控件一览(包括作为标题的我自己)')
    a.t()
    a.t('【我是几个文字】')
    a.t('【我跟在左边文字后面】')
    a.t()  # 换行
    a.t('【我被换行了……】')
    a.t()  # 再换行
    a.t('【当你看见我时,你需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.t('【当你看见我时,你还是需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.b('我是一个红按钮', a.goto, button_result, color='red')
    a.b('我是一个不能按的红按钮', a.goto, button_result, color='red', disabled=True)
    a.b('快拿鼠标戳我!', a.goto, button_result, popup='被你戳到了,好爽~')
    a.t()
    a.divider()  # 我是一个分割线
    a.t()
    a.t('作为进度条,我当前值为50,总共100,在界面上显示为 200px 长:')
    a.progress(50, 100, 200)
    a.t()
    a.t('如果给这个游戏引擎评分,5分满分,我给4分:')
    a.rate(4, 5)
    a.t()
    a.t('我是一个可以点的评分哦~点击之后请在后端控制台查看效果~(对着当前评分再点击一次可以取消评分哦~(等价于评0分)):')
    a.rate(2, 5, rate_result, False)
    a.t()
    a.t('我是一个单选,目前默认选中第二项(索引为1)修改之后请在后端控制台查看效果:')
    a.radio(['一', '二', '三'], 1, radio_result)
    a.t()
    a.t('我是输入框,修改之后请在后端控制台查看效果:')
    a.input(input_result)
    a.t()
    a.t('以上,就是目前支持的全部控件及用法啦~')
    a.t()
    a.t('如果您需要新增,请跟作者联系哦~')
    a.t()
    a.b('返回', a.back)
Exemple #2
0
def ui_data():
    def change_rate(new_rate):
        a.data['db']['rate'] = new_rate

    a.page()  # 新建一个页面
    a.h('游戏数据教程')
    a.t()
    a.t('游戏的静态数据都保存在【data/】目录中,只要放进去了,且格式匹配,就可以在游戏开始后直接调用。如:')
    a.t(a.data['data.姓名库']['外文']['男名'][0])
    a.t('←这里请翻阅代码')
    a.t()
    a.t('支持的格式为json,csv,ini,inf,cfg,config等。而且在加载的时候后都已经被自动转换为了Dict等方便的格式。')
    a.t()
    a.t('【a.data是游戏引擎的数据核心,类型为Dict。里面定义的变量都可以被全局调用,但不会被保存】')
    a.t()
    a.divider()
    a.t()
    a.t('【接下来介绍几个特殊的Key】')
    a.t()
    a.t('【a.data["data.*"]】存放着【data/】目录下所有的静态数据;')
    a.t()
    a.t('【a.data["config.*"]】存放着【config/】目录下所有的设置;')
    a.t()
    a.t('【以上两种KEY使用点语法来对具体文件进行调用,如【data/姓名库.json】文件中的内容保存在【a.data["data.姓名库"]】中'
        )
    a.t()
    a.divider()
    a.t()
    a.t('【a.data["db"]】中存放着可以被保存和读取的数据。(其他KEY中的数据都不会被保存)')
    a.t()
    a.t('演示(请修改,保存,再修改,加载。看数值是否被保存了。):')
    a.rate(a.data['db']['rate'], 5, change_rate, False)
    a.t()
    a.divider()
    a.t()
    a.t('【a.data["class"]】保存着各种Class,属于预留。大家暂时可以忽略。')
    a.t()
    a.t('【a.data["api"]】保存着各种API,大家可以在这里加入自定义的API,然后进行全局调用(一般用于引擎插件/Script/DLC/Mod中)。'
        )
    a.t()
    a.t('【entity】保存着各种Class的实例,属于预留。大家暂时可以忽略。')
    a.t()
    a.divider()
    a.t()
    a.b('保存', a.goto, save_game)
    a.b('加载', a.goto, load_game)
    a.b('返回', a.back)
def ui_widgets():
    def button_result():
        a.msg('按钮已按下')

    def rate_result(new_rate):
        a.msg('您的评分为{}分。'.format(new_rate))

    def radio_result(new_ratio):
        a.msg('现在选中的是第{}位的“{}”。'.format(
            new_ratio['index'], new_ratio['value']
        ))

    def check_result(new_check):
        a.msg('现在复选框的值为:{}'.format(new_check))

    def input_result(new_input):
        a.msg('输入框中的文本为:{}'.format(new_input))

    def dropdown_result(new_dropdown):
        a.msg('下拉菜单中的值为第{}位的“{}”。'.format(
            new_dropdown['index'], new_dropdown['value']
        ))
    a.page()
    a.h('控件一览', 1, {'color': '#eee'})
    a.mode('line')
    a.t('【我是几个文字】')
    a.t('【我跟在左边文字后面】')
    a.t()  # 换行
    a.t('【我被换行了……】')
    a.t('而我有色彩', style={'color': '#f00', 'background-color': '#0f0'})
    a.t()  # 再换行
    a.t('【当你看见我时,你需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.t('【当你看见我时,你还是需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.b('我是一个红按钮',  button_result, style={'background-color': '#f00'})
    a.b('我是一个不能按的按钮', button_result,  disabled=True)
    a.b('快拿鼠标指着我!', button_result, popup='被你戳到了,好爽~')
    a.divider('我是显而易见的分割线')
    a.t('作为进度条,我当前值为50,总共100,在界面上显示为 100px 长:')
    a.progress(50, 100, [{'width': '100px'}, {}])
    a.t()
    a.t('如果给这个游戏引擎评分,5分满分,我目前给4分:')
    a.rate(4, 5)
    a.t()
    a.t('我是一个可以点的评分哦~点击之后请在后端控制台查看效果~(对着当前评分再点击一次可以取消评分哦~(等价于评0分)):')
    a.rate(2, 5, rate_result)
    a.t()
    a.t('我是一个单选,目前默认选中第二项(索引为1)修改之后请在后端控制台查看效果:')
    a.radio(['一', '二', '三'], radio_result, 1)
    a.t()
    a.t('我是一个复选框,目前默认已选中,修改之后请在后端控制台查看效果:')
    a.check('我是一个复选框哦!', check_result, True)
    a.t()
    a.t('我是输入框,修改之后请在后端控制台查看效果:')
    a.input(input_result, '我是默认值哦~')
    a.t()
    a.t('多行文本输入框:TODO')
    a.t()
    a.t('我是一个下拉菜单哦!(下拉选择项目并在后端查看效果):')
    a.dropdown(['甲', '乙', '丙'], dropdown_result, 1)
    a.t()
    a.t('多选下拉菜单:TODO')
    a.t()
    a.t('以上,就是目前支持的全部控件及用法啦~')
    a.t()
    a.t('如果您需要新增,请跟作者联系哦~')
    a.t()
    a.b('返回', a.back)
Exemple #4
0
def ui_all_components():
    def button_result():
        a.page()
        a.h('作为一个按钮,我被按了。')
        a.t()
        a.b('返回', a.back)

    def rate_result(new_rate):
        print('当前评分为{}分。'.format(new_rate))

    def radio_result(new_ratio):
        print('现在选中了“{}”。'.format(new_ratio))

    def check_result(new_check):
        print('现在复选框的值为:{}'.format(new_check))

    def input_result(new_input):
        print('输入框中的值为:')
        print('{}'.format(new_input))

    def dropdown_result(new_dropdown):
        print('下拉菜单中的值为:“{}”。'.format(new_dropdown))

    def multi_dropdown_result(multi_dropdown):
        print('下拉菜单中的值为:“{}”。'.format(','.join(multi_dropdown)))

    a.page()  # 新建一个页面
    a.h('控件一览(包括作为标题的我自己)', color='#f00', bcolor='#ff0')
    a.t()
    a.t('【我是几个文字】')
    a.t('【我跟在左边文字后面】')
    a.t()  # 换行
    a.t('【我被换行了……】')
    a.t('而我有色彩', color='#f00', bcolor='#ff0')
    a.t()  # 再换行
    a.t('【当你看见我时,你需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.t('【当你看见我时,你还是需要点鼠标左键或右键】', True)
    a.t()  # 再换行
    a.b('我是一个红按钮', a.goto, button_result, color='red')
    a.b('我是一个不能按的红按钮', a.goto, button_result, color='red', disabled=True)
    a.b('快拿鼠标戳我!', a.goto, button_result, popup='被你戳到了,好爽~')
    a.b('我是振动器!', a.shake, 100)
    a.t()
    a.divider()  # 我是一个分割线
    a.t()
    a.t('作为进度条,我当前值为50,总共100,在界面上显示为 200px 长:')
    a.progress(50, 100, 200)
    a.t()
    a.t('如果给这个游戏引擎评分,5分满分,我给4分:')
    a.rate(4, 5)
    a.t()
    a.t('我是一个可以点的评分哦~点击之后请在后端控制台查看效果~(对着当前评分再点击一次可以取消评分哦~(等价于评0分)):')
    a.rate(2, 5, rate_result, False)
    a.t()
    a.t('我是一个单选,目前默认选中第二项(索引为1)修改之后请在后端控制台查看效果:')
    a.radio(['一', '二', '三'], radio_result, 2)
    a.t()
    a.t('我是一个复选框,目前默认已选中,修改之后请在后端控制台查看效果:')
    a.check('我是一个复选框哦!', check_result, True)
    a.t()
    a.t('我是输入框,修改之后请在后端控制台查看效果:')
    a.input(input_result, '我是默认值哦~')
    a.t()
    a.t('我是多行文本输入框,修改之后请在后端控制台查看效果:')
    a.t()
    a.input(input_result, '我是默认值哦~\n我还会换行~', True)
    a.t()
    a.t('我是一个下拉菜单哦!(下拉选择项目并在后端查看效果):')
    a.dropdown(['甲', '乙', '丙'], dropdown_result, default='丙')
    a.t()
    a.t('我是一个多选下拉菜单哦!(下拉选择多个项目并在后端查看效果):')
    a.dropdown(['甲', '乙', '丙', '丁', '戊'],
               multi_dropdown_result,
               multiple=True,
               default='戊')
    a.t()
    a.t('以上,就是目前支持的全部控件及用法啦~')
    a.t()
    a.t('如果您需要新增,请跟作者联系哦~')
    a.t()
    a.b('返回', a.back)