Code Monkey home page Code Monkey logo

wxgame-canvas's Introduction

quickstart

源码目录介绍

./js
├── base                                   // 定义游戏开发基础类
│   ├── DataStore.js                       // 对象临时存储类
│   ├── ResoutceLoader.js                  // 源文件加载类
│   │── Resource.js                        // 需要提前加载到资源文件
│   └── sprite.js                          // 游戏基本元素精灵类
│
├── data
│   └── question.js                        // 题库
│
├── libs
│   ├── symbol.js                          // ES6 Symbol简易兼容
│   └── weapp-adapter.js                   // 小游戏适配器
│
├── player
│   └── question.js                        // 问题类
│
├── runtime
│   ├── background.js                      // 背景类
│   └── logo.js                            // logo 类
│
├── scene
│   ├── homeScene.js                       // 首页场景
│   ├── questionScene.js                   // 问题页场景
│   └── resultScene.js                     // 结果页场景
│
└── Director.js                            // 导演类,控制游戏场景逻辑
./src
├── myOpenDataContext
│   └── index.js                           // 定义开放域

main.js                                    // 游戏入口

开发问题小结

1、开放域sharedCanvas模糊的问题,其他canvas模糊问题同  属于canvas模糊的基本问题,可以将sharedCanvas的宽高在主域设置成像素比倍数(注意不能在开放域设置,因为sharedCanvas是只读的在开放域设置宽高会报错), 然后sharedCanvas里面设置缩放context.scale(ratio, ratio)。sharedCanvas里绘制的时候也需要按对应倍数放大绘制元素,可以缩放到750像素,然后按照750的尺寸进行绘制。 上屏canvas通过drawImage方法将sharedCanvas绘制到上屏以显示sharedCanvas,这里drawImage里要设置宽高为当前屏幕的宽高,实现将sharedCanvas缩小实现高清

2、上屏canvas绘制sharedCanvas不显示的问题 如果上屏没有实时绘制,显然不显示sharedCanvas是大概率会出现的。开放域获取用户接口是异步的,绘制图片等资源也是异步的,上屏绘制的时候,子域的canvas还没有将数据和图片绘制, 但是子域又没有办法主动通知主域,所以建议在主域实时绘制。

3、真机分享后黑屏的问题 如果页面不是实时绘制的,在分享后会黑屏,因为canvas没有绘制,所以需要监听onShareAppMessage的回调去绘制canvas,或者监听wx.onShow在小游戏回到前台的时候进行处理

4、主域获取用户信息wx.getUserInfo授权报错的问题 因为小游戏官方近期修改了接口,需要改用wx.createUserInfoButton创建按钮,用户点击获取用户信息

5、 开放域依然可以用wx.getUserInfo获取用户信息,但是开放域无法获取openid

wxgame-canvas's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.