用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
  • TA的每日心情
    无聊
    2017-8-15 16:38
  • 签到天数: 42 天

    [LV.5]常住居民I

    885

    主题

    2074

    帖子

    3万

    金钱

    管理员

    论坛管理员

    Rank: 9Rank: 9Rank: 9

    积分
    0

    突出贡献优秀版主荣誉管理论坛元老

    QQ
    2018-1-23 22:35:23 zhichi_admin 管理员 楼主 11250
    小游戏模块化

    小游戏提供了 CommonJS 风格的模块 API,可以通过 module.exports 和 exports 导出模块,通过 require 引入模块。假设代码包有如下结构,src/util 目录下的是一些在游戏中会反复用到的方法,res/image 目录下则是游戏中会用到一些图片。
    [AppleScript] 纯文本查看 复制代码
    ├── game.js
    ├── game.json
    ├── src
    |   └── util
    |       ├── drawLogo.js
    |       └── ...
    └── res
        ├── image
        |   ├── logo.png
        |   └── ...
        └── music
            └── bgm.mp3
    其中,drawLogo.js 模块封装的是一个用来把 logo 画到指定位置的方法。
    [AppleScript] 纯文本查看 复制代码
    module.exports = function (canvas, x, y) {
        var image = new Image()
        image.onload = function () {
            var context = canvas.getContext('2d')
            context.drawImage(image, x, y)
        }
        image.src = 'res/image/logo.png'
    }
    注意,当用加载本地的图片、音频、视频资源时,必须写从代码包根目录开始的绝对路径。如果写以 drawLogo.js 所在目录的相对路径,则会导致系统找不到资源文件,加载失败。
    [AppleScript] 纯文本查看 复制代码
    image.src = '../../res/image/logo.png'
    game.js 中 require drawLogo,就可以调用 drawLogo 模块导出的方法。
    [AppleScript] 纯文本查看 复制代码
    var drawLogo = require('./src/util/drawLogo')
    var canvas = wx.createCanvas()
    drawLogo(canvas, 40, 40)
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册
    咫尺论坛|小程序开发社区
    X

    扫码添加专属客服即可随时咨询

    还可领取小程序推广攻略