Exemplo n.º 1
0
def cover():
    a.title('测试用狐狸程序 v{} with Era.js v{}'.format(version, a.version))
    a.page()
    a.h("测试用狐狸程序 v{}".format(version))
    a.t(" withEra.js v{}".format(a.version))
    a.t()
    a.divider()
    a.t()
    a.b('开始游戏', a.goto, t.initiate)
Exemplo n.º 2
0
def cover():
    # 这样,我们就有一个名为 cover 的函数了,刚才也说了,我们通过函数来搭载界面,于是我们接下来准备显示该界面的标题:
    a.title('Erajs-Tutorial v{} with Era.js v{}'.format(version, a.version))
    # 上面调用了 API 中的 title 函数,其作用是更改前端窗口的标题文字,至于为什么放在 cover 函数里呢?
    # 其实只要 init 了之后,放在哪里都可以。放在这里只是防止可能会有其它的一些会导致标题修改的界面出现。

    # 一般来说,上文中的 title 函数只需要调用一次就可以了,更普遍的情况是,代表界面的函数的第一行,就是调用下列函数:
    a.page()
    # 这是 API 中的 page 函数。其作用是新建一个空页,以后新建的所有显示元素都将在此空页中摆放。直到另一个新页面生成。

    # 接下来就是显示页面标题:
    a.h('Erajs-Tutorial v{}'.format(version))
    # 上面调用了 API 中的 h(head) 函数,是用来显示页面标题的(其实就是字号比较大的文字啦!),其用法为:
    # a.h(text)

    a.t()  # 适当的换行会让您的界面更加美观

    # 再接下来就是显示一行普通文本:
    a.t('with Era.js v{} aka{}'.format(a.version, a.aka))
    # 这是 API 中的 t(text) 函数。是用来显示普通文本的,其用法为:
    # a.t(text='', wait=False)
    # 当 text=='' 时,换行;
    # 当 wait==True 时,进入等待模式,文字会显示到这里就不再触发下一个语句,
    # 直到玩家点击鼠标左键(下一句)或是点击鼠标右键(略过全部)

    # 显示完标题之后,我们不希望将后续内容继续放在标题后边,于是选择换行:
    a.t()
    # 换两行也是可以的:
    a.t()

    # 接下来,我们希望显示一些按钮,来将玩家引向其他界面:
    # 再调用之前,我们先来看一下按钮函数是怎么使用的:
    # a.b(text, func, *arg, **kw)
    # 其中,text 就是你想显示在按钮上面的文字啦
    # func 就是该按钮在点击时会触发的函数
    # 还有几个隐藏的参数:
    # disabled 当该参数为真时,按钮变为不可用的状态
    # popup 鼠标指针移动到按钮上面时,将会弹出的文字
    # color 按钮颜色,值只能为:red,orange,yellow,olive,green,teal,blue,violet,purple,pink,brown,grey,black。
    a.b('页面逻辑教程', a.goto, ui_gui_logic)
    # 上面这个按钮函数,我们调用了 API 中的 goto 函数,并且将一个新页面的函数作为参数传给了它,
    # 这意味着当玩家点击这个按钮时,a.goto(ui_gui_logic) 语句将会被执行。
    a.t()  # 换行(换行不只是可以给文字用哦!按钮、评级、进度条等等都可以用的哦!)
    a.b('控件使用教程', a.goto, ui_all_components)
    a.t()  # 换行
    a.b('网格排版教程', a.goto, ui_grid)
    a.t()  # 换行
    a.b('游戏数据教程', a.goto, ui_data)
    a.t()  # 换行
    a.b('引擎模块/游戏脚本(Scripts)/DLC/MOD 教程', a.goto, ui_script)
    a.t()  # 换行
    a.b('退出引擎示例程序', a.exit)  # 正确的退出程序的方式
Exemplo n.º 3
0
def cover():
    a.title('EraDemo')
    a.dat()['123'] = 1
    print(a.dat())
    a.page()
    a.mode('grid', 1)
    a.h('EraDemo')
    a.t()
    a.t()
    a.b('新的游戏', a.goto, new_game)
    a.t()
    a.t()
    a.b('继续游戏')
    a.t()
    a.t()
    a.b('游戏设置')
    a.t()
    a.t()
    a.b('退出游戏')
Exemplo n.º 4
0
# coding:utf-8
import erajs.api as a


def start_new_game():
    a.page()
    a.h('玩家角色创建方式')
    a.t()
    a.t()
    a.b('使用默认主角', e.goto, default_person)


def default_person():
    a.page()
    a.h('默认玩家角色')
    a.t()
    a.t()


if __name__ == "__main__":
    a.init()
    a.title('EraLife')
    a.h('EraLife')
    a.t()
    a.t()
    a.b('新建游戏', a.goto, start_new_game)
Exemplo n.º 5
0
def cover():
    # 函数的定义十分简单,一目了然,我就不赘述了。丢一个参考链接吧:
    # 参见:[定义函数](https://docs.python.org/zh-cn/3/tutorial/controlflow.html#defining-functions)
    # 函数定义好后,就能够被引用了!下面我们来往里面填充内容吧!
    a.title('Dev Guide with Era.js v{}'.format(a.version))
    # 首先,这是名为title的API,它的作用也特别直白:设置游戏窗口标题。
    # 标题就是括号里面的内容,但为什么会使用format函数呢?是因为我们要往字符串中塞入一个代表版本的变量。
    # 参见:[字符串函数](https://docs.python.org/zh-cn/3/library/stdtypes.html#str.format)
    # 参见:[格式字符串语法](https://docs.python.org/zh-cn/3/library/string.html#formatstrings)
    # 现在,我们新建一个页面,将原来的单按钮顶下去!
    a.page()
    # 这是名为page的API,作用是新建一个页面,之后的所有控件都在新的页面中生成。
    # 引擎只会显示最新的一个页面,旧的页面会被模糊掉,但不会模糊得十分彻底,而是能够让人勉强看清,以免玩家错过关键信息。
    # 接下来就轮到调整页面版式了!
    # 在默认情况下,页面中的内容都是左对齐的,但这种排布方式不一定都美观,因此我们在这里改变一个排版方式:
    a.mode('grid', 1)
    # 这是名为mode的API负责改变页面排版方式。
    # 在这里,我们将排版方式改为了“grid”(网格),并且给了他一个参数“1”。
    # 则代表我们将排版模式变成了一个一列网格。
    # 而且网格有一个比较重要的特点,就是在网格中的对齐方式都是居中对齐
    # 这样,我们通过生成一个一列网格来实现了每行居中的功能。
    # 现在,让我们往网格里面装东西吧!
    a.t()
    # 噫?这是装了个什么东西?
    # 这就是传说中的最常用、最有用、最好用的控件——文本控件!
    # 而如果我们不往里面装文本的话(比如现在这个),会发生什么?
    # 答案是换行(换档)!
    # 什么意思呢?比如如果我们的排版模式是`line`,那么执行这个语句,就相当于回车键,
    # 后续的内容都会在下一行进行显示。
    # 而如果我们的排版模式是`grid`,这里我们以三列网格为例,执行这个语句,我们的光标就会从第一行第一个单元格,跳转到第二个单元格。
    # 而如果我们的光标本来就在第一行的第三个单元格,那么执行之后就会跳转到第二行的第一个单元格。
    # 而在这里,我们在一列网格中使用,作用就是从第一行第一个单元格,跳转到第二行第一个单元格,也就意味着换了一行而已。
    # 都是为了美观呀!美观!
    # 好了,终于可以开始装东西了,来!
    a.h('Era.js 开发向导')
    # 这是标题,用法很简单就不赘述了,我们换行
    a.t()
    # 再显示一行文字。
    a.t('Version: {}'.format(a.version))
    # 这里语法与title一样,都是进行了字符串格式化。没有什么特别值得说的东西。
    # 接下来,我们进行几次换行
    for _ in range(4):
        a.t()
    # 一行行换行毕竟太麻烦,这里我们使用循环进行5次换行。再生成控件的话,就会在比较靠下的地方了。
    a.b('  页面逻辑教程  ', a.goto, ui_logic)
    a.t()
    a.t()
    a.b('   控件教程   ', a.goto, ui_widgets)
    a.t()
    a.t()
    a.b('   排版教程   ', a.goto, ui_compose)
    a.t()
    a.t()
    a.b('  数据管理教程  ', a.goto, ui_data)
    a.t()
    a.t()
    a.b('  代码组织教程  ', a.goto, ui_code)
    a.t()
    a.t()
    a.b('   模组教程   ', a.goto, ui_mod)
    a.t()
    a.t()
    a.b('   退出教程   ',  a.msg, '右上角嘛~   真是的!')
    a.t()
Exemplo n.º 6
0
def save_game():
    a.page()
    a.h('保存游戏')
    a.t()
    print(a.data['db'])
    a.show_save_to_save()
    a.b('返回', a.back)


def quit_game():
    pass


def load_game():
    a.page()
    a.h('读取游戏')
    a.t()
    a.show_save_to_load(loop)
    a.b('返回', a.back)


a.init()
a.title('EraPet')
a.h('EraPet')
a.t()
a.t()
a.b('开始饲养', a.goto, start_new_game)
a.t()
a.b('继续饲养', a.goto, load_game)