内容:

环境依赖

  1. Python 2.7
  2. Git
  3. NodeJS, NPM
  4. Loom, 安装步骤
  5. Cocos Creator
  6. Cocos Loom SDK 代码库

Loom Cocos SDK

Loom 全局结构

Loom Cocos SDK软件结构

由图可见,Loom-Cocos-SDKloom-js使用相同的API, 相同的 protobuf 文件, 基本类似的合约写法。

Loom Cocos SDK 是基于 Loom-JS 而移植到 Cocos Creator 上.

打包并生成 Cocos SDK

  • git clone https://github.com/loomnetwork/cocos-sdk.git
  • cd cocos-sdk
  • git submodule update --init,更新 git 子工程
  • ./tools/genCocoSDK.py

./tools/genCocoSDK.py会在工程根目录下生成的loom-cocos-sdk目录, 这就是 Loom SDK for Cocos Creator上的适配包

安装Loom

wget https://private.delegatecall.com/loom/osx/stable/loom
chmod +x loom

mkdir tmpgopath
export GOPATH=`pwd`/tmpgopath
./loom spin weave-blueprint
cd blueprint
export GOPATH=$GOPATH:`pwd`
make deps
make
cd build

../../loom init
cp ../genesis.example.json genesis.json

运行区块链:

# 无法开始http服务器: listen tcp 127.0.0.1:9092: bind: address already in use
pkill blueprint # 先关闭服务器
../../loom run

更多详情介绍请参见Loom SDK docs

安装Cocos Creator

Cocos Creator是以内容创作为核心的游戏开发工具,在Cocos2d-x基础上实现了彻底脚本化、组件化和数据驱动等特点。

Cocos Creator基于开源框架Cocos2d-x,实现了一体化、可扩展、可自定义工作流的编辑器,并在Cocos系列产品中第一次引入了组件化编程思想和数据驱动的架构设计。 通过JavaScript, 你可以短时间内编写组件脚本。 编辑器和引擎扩展也是用 JavaScript 构建的, 所以你就可以用一个编程语言来制作游戏和细化工具了。

这极大地简化了Cocos2d-x开发工作流中的场景编辑、UI设计、资源管理、游戏调试和预览、多平台发布等工作。 是使用Cocos2d-x进行团队协作开发的最佳选择。

这里下载最新的Cocos Creator安装即可.

Creator Game 内集成调用

  1. 将上一步中打包生成好的Loom Cocos SDK放到工程的asset/script目录下, 重命名为loom
  2. 根据你的游戏的需求编写自己的proto文件, 然后用 protoc 生成对应的 js 文件 e.g. 本例中使用的是setscore.proto, 及对应生成的setscore_pb.js
  3. 编写适应自己游戏需求的合约, 使用上一步中的 setscore_pb.js将数据序列化, 并将数据发往DappChain, 参见SimpleContract

  1. 在你的游戏中需要的位置调用上一步中的接口.
  2. 运行, 检查

Sample:

这儿有两个 Sample 项目:

  • loomDemoForCreator 使用 loom sdk
  • dark-slash 在真正的游戏中使用 loom sdk

测试步骤

  • 更新 git 子工程, 运行git submodule update --init, 已更新的话,可以跳过
  • 生成并打包Loom Cocos SDK, 运行./tools/genCocoSDK.py
  • 同步生成好的包到 sample/loomDemoForCreator, sample/dark-slash, 运行./tools/syncLoomJSToSample.py
  • 切换到blueprint/build目录, 运行Loom Block Chain服务, 运行../../loom run, 已运行,可以跳过
  • Cocos Creator打开sample/loomDemoForCreatorsample/dark-slash, 运行

说明

  • Loom Block Chain 的配置, 运行, 合约的使用, 参见这里
  • 示例 dark-slash 来自于 Cocos Creator样例项目