乐趣区

关于typescript:小游戏云开发入门

前言

百度:
https://q.qq.com/wiki/cloud/base/intro.html

QQ:
https://q.qq.com/wiki/cloud/base/intro.html

WX:
https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html

当下云开发比拟火,不过自己并不是很感冒,因为他的益处不言而喻,但毛病也是致命的。
益处就是 1. 不必本人买服务器,域名认证,不必放心服务器过期;省去了很多工夫。2. 初始容量收费,根本够用。

毛病就是不能跨平台。这个就很伤了,咱们开发一款游戏不可能只上一个平台吧!尽管咱们能够上所有领有云开发能力的平台,然而毕竟没有云开发能力的平台也很多啊!

不过例如世界排行榜这样的性能还是能够用一下的。顶多就是没有云开发能力的平台不显示排行榜性能就是了。

我是用这个云开发能力做了一个比拟残缺的交易零碎。进入这个零碎后所有数据联网获取,来到这个零碎单机玩法。所以没有云开发能力的平台也就只能体验单机局部了。

开始

这里我以微信云开发为例:

  1. 开明服务

这一步要留神的是应用的 appId 不能是测试 id,否则你的云开发按钮是不可点击的。
这一步完结之后你会取得一个环境 id。

  1. 初始化
wx.cloud.init({env: 'test-x1dzi'})

将上一步取得的环境 id 传入 init 函数即做好了初始化工作,而且此办法是没有返回值的。

  1. 调用云函数
wx.cloud.callFunction({
  name: 'add',
  data: {
    a: 12,
    b: 19
  }
}).then(console.log)

根本在小程序端的重要局部就这些了。当你看过了几个反对云开发的平台阐明文档后你会发现,他们在小程序端的应用形式其实是一样的。只是命名空间的不同而已。所以在小程序端很容易做好多平台反对的。
剩下的就是写云函数了。微信云其实就是 nodejs 服务器。每一个云函数你能够了解为后端通过路由后调用的函数。只是在调试和上传上的形式上有所不同而已。

这里的调试是比拟好受的,首先用 creator 打进去的包云函数目录是会被清理的,如果你把函数目录放到 build-template 中你又没法像在微信开发者工具中一样及时的看成果。又不能在开发者工具中改变一下就复制一份到 build-template 中。因为我的零碎没那么简单,所以目前就是每次打包后从新下载我须要的云函数。其实能够写个插件,在打包之前把云函数寄存到一个中央,打完包之后再放回来。

开发方式

我的开发方式比较简单,间接将小程序端的云函数调用写成一个服务,增加到我的网络框架中,就跟我用长短链接一样应用了。
文章地址:https://mp.weixin.qq.com/s/DQuiQejiS6qtBTef_yu0Sw
扩大的形式很简略

  1. 定义一个新的链接形式。

  1. 定义类,实现接口

这里的 url 就是环境 id,协定号就是云函数的名称。
对于 sendData 类中的接管形式能够本人随便更改。

export default class WXCloudService extends Service {
    /**
     * 因为 init 函数无返回值,所以间接告诉链接胜利
     * @param url 相当于环境 ID
     * @param port 无用
     */
    connect(url: string, port?: number) {super.connect(url);
        console.log("WXCloudService connect  url", url)
        wx.cloud.init({env: url})
        this.emit(NetConfig.OPEN, url);
    }

    sendData(message: SendMessage) {
      
        let self = this;
        let protoID = message.getProtoID();
        let data = message.getData();
        console.log("WXCloudService sendData  protoID", protoID,'data',data)
        wx.cloud.callFunction({
            // 需调用的云函数名
            name: protoID,
            // 传给云函数的参数
            data: data,
            success: function (res) {console.log('WXCloudService  success res', res)
                self.onData(res.result, protoID);

            },
            fail: function (res) {console.log('WXCloudService  fail res', res)
                self.onError(message);
            },
            complete: function (res) {},})
    }

    isReady() {return true;}
}
  1. 在工厂中创立

  1. 链接时应用之前定义的 Netconfig.CLOUD

  1. 应用形式我曾经在《一个可屏蔽长短链接的网络模块》文章中说过,这里就不在赘述了。

注意事项

  1. 云函数的创立,应用后盾创立的云函数,和在开发者工具中创立的云函数不同。我最终抉择应用开发者工具创立,而后上传。
  2. 本地调试,有时候没有发现任何谬误,调试就是启动失败,删了云函数,从新下载再启动就好使了。
  3. 千万记住,云函数上传之后再用 creator 打包,否则你的函数就白写了。所以最好还是用一种你相熟的形式,在打包的时候动手脚。
  4. 不倡议应用 doc 函数,它只反对传入_id。

结语

以上就是我这几天应用云开发的心得。也是感觉比拟重要的中央。当然,最终还是举荐看文档,那里更具体。
如需购买框架,请进入公众号点击我的服务,源码发售标签。

欢送关注公众号《微笑游戏》,浏览更多内容。

欢送扫码关注公众号《微笑游戏》,浏览更多内容。

退出移动版