Skip to content

游戏开发者文档

何雨航 edited this page Jul 6, 2018 · 8 revisions

注意:本游戏引擎虽然名称为Era.js,但这只是因为游戏引擎的实现上主要是使用的一些JS的技术,但 游戏的脚本语言是Python ,所以,在进行一般的游戏开发的时候,主要涉及到的语言是Python。

游戏开发向导

游戏引擎介绍

开发环境搭建

下载安装Python

https://www.anaconda.com/download/(推荐)

https://www.python.org/downloads/

下载安装Nodejs

https://nodejs.org/en/

下载安装Git

https://git-scm.com/

克隆项目到本地

git clone https://github.com/miswanting/Era.js.git

(中国区推荐)使用中国区NPM镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装Python依赖

pip3 install -r ./config/requirements.txt

安装Nodejs依赖

cnpm i

npm i

启动Debug.bat

Debug.bat

文件夹结构

Era.js
├── engine 游戏引擎文件夹
│   ├── css 游戏引擎前端样式
│   ├── js 游戏引擎前端代码库
│   ├── era.js 游戏引擎前端
│   ├── game.py 游戏引擎后端(API)
│   ├── index.html 游戏前端模板
│   └── main.js 游戏引擎前端的后端/中间件
├── src 游戏脚本文件夹
│   └── lib_base.py 游戏基础功能包
├── .gitignore
├── client.bat
├── Debug.bat
├── LICENSE
├── package.json
├── README.md
├── script.py 游戏脚本入口(游戏开发从这里开始)
├── server.bat
├── setup.py
├── 玩家文档.md
├── 引擎开发者文档.md
└── 游戏开发者文档.md

游戏开发建议

游戏的打包与发布

Windows平台

API(game)

data

init()初始化

p(text='', line=False, wait=False)显示文字

pcmd(text, func, *arg, **kw)显示按钮(不换行)

plcmd(text, func, *arg, **kw)显示按钮(换行)

new_page()开启新的页(分页)

goto(func, *arg, **kw)进入新的界面

back(*arg, **kw)返回上一界面

repeat(*arg, **kw)重复当前页面

API(lib_base)

show_save()显示存档界面

show_load(func)显示读档界面

显示层级

  • div(root)
    • div(list): Page Manager
      • div(page): Line Manager
        • p
          • text
          • div(word)
          • progressbar
      • div(page)

系统层级

Server

Client

API(game)

  • init
  • pcmd(输出命令)
  • plcmd(输出命令)
  • pline(输出一条隔断线)
  • new_page
  • s(等待输入(输入后不换页))
  • sp(等待输入(输入后换页))
  • cls(清屏(换页))
  • clear(清屏(全部))
  • data(数据输入输出)
  • save(保存game.data)
  • load(载入game.data)
  • goto(前进到子界面)
  • back(返回到父界面)
  • repeat(重新显示当前界面)
  • yesOrNo