微信小游戏2

浅浅的花香味﹌ 2021-09-30 06:44 437阅读 0赞

创建画布

  1. const canvas = wx.createCanvas()

在 game.js 中输入以上代码并保存

[外链图片转存失败(img-Raz17nJS-1564146105342)(https://upload-images.jianshu.io/upload_images/11158618-caa57a30137dbd1b.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

横向居中

[外链图片转存失败(img-uK8ya6v8-1564146105344)(https://upload-images.jianshu.io/upload_images/11158618-5a3cdd40830d1041.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

  1. context.fillRect(canvas.width / 2 - 50, 0, 100, 100)

创建函数:

  1. function drawRect(x, y) {
  2. // 作用是每次绘制前都先清除原有矩形
  3. context.clearRect(x, y - 1, 100, 100)
  4. context.fillRect(x, y, 100, 100)
  5. }
  6. drawRect(canvas.width / 2 - 50, 0)

[外链图片转存失败(img-BXVe3HGk-1564146105346)(https://upload-images.jianshu.io/upload_images/11158618-1d10be34e74df550.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

  1. const rectX = canvas.width / 2 - 50
  2. let rectY = 0
  3. setInterval(function(){
  4. drawRect(rectX, rectY++)
  5. }, 16)

[外链图片转存失败(img-SCTHSQ77-1564146105351)(https://upload-images.jianshu.io/upload_images/11158618-99b77c5738af91d7.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

[外链图片转存失败(img-hwlMXac6-1564146105354)(https://upload-images.jianshu.io/upload_images/11158618-43b14e5e267f7f90.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

  1. const image = wx.createImage()
  2. const imgX = canvas.width / 2 - 50
  3. let imgY = 500
  4. image.onload = function () {
  5. context.drawImage(image, imgX, imgY)
  6. }
  7. image.src = 'images/hero.png'

使飞机图片跟随触摸移动
[外链图片转存失败(img-DrpEYQ27-1564146105359)(https://upload-images.jianshu.io/upload_images/11158618-d8509bad05e72fbc.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

  1. // 存储当前飞机左上角坐标
  2. let touchX = imgX
  3. let touchY = imgY
  4. wx.onTouchMove(function (res) {
  5. context.clearRect(touchX, touchY, 100, 100); // 清除画布上原有的飞机
  6. touchX = res.changedTouches[0].clientX // 重新判断当前触摸点x坐标
  7. touchY = res.changedTouches[0].clientY // 重新判断当前触摸点x坐标
  8. context.drawImage(image, touchX, touchY);
  9. })

判断飞机是否碰撞到下落中的矩形

  1. if (touchX >= rectX - 100 && touchX <= rectX + 100 && touchY >= rectY - 100 && touchY <= rectY + 100) { // 飞机与矩形发生碰撞
  2. wx.showModal({
  3. title: '提示',
  4. content: '发生碰撞,游戏结束!'
  5. })
  6. }

在手机上预览
上传至体验版
[外链图片转存失败(img-edzookoL-1564146105361)(https://upload-images.jianshu.io/upload_images/11158618-9373334c5f3b959d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

获得体验版本小游戏二维码

  1. {
  2. "description": "项目配置文件。",
  3. "setting": {
  4. "urlCheck": false,
  5. "es6": true,
  6. "postcss": true,
  7. "minified": true,
  8. "newFeature": true,
  9. "autoAudits": false,
  10. "checkInvalidKey": true,
  11. "uglifyFileName": true
  12. },
  13. "compileType": "game",
  14. "libVersion": "1.9.94",
  15. "appid": "",
  16. "projectname": "wxgame",
  17. "simulatorType": "wechat",
  18. "simulatorPluginLibVersion": {},
  19. "condition": {
  20. "search": {
  21. "current": -1,
  22. "list": []
  23. },
  24. "conversation": {
  25. "current": -1,
  26. "list": []
  27. },
  28. "game": {
  29. "currentL": -1,
  30. "list": []
  31. },
  32. "miniprogram": {
  33. "current": -1,
  34. "list": []
  35. }
  36. }
  37. }

开发版、体验版、正式版 三种
代码包总大小不能超过 8M,单个分包不能超过 4M。

小游戏配置
game.json 文件

  1. {
  2. "deviceOrientation": "portrait",
  3. "networkTimeout": {
  4. "request": 5000,
  5. "connectSocket": 5000,
  6. "uploadFile": 5000,
  7. "downloadFile": 5000
  8. },
  9. "navigateToMiniProgramAppIdList": [
  10. "wxe5f52902cf4de896"
  11. ]
  12. }

用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。

如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。请开发者兼容用户拒绝授权的场景。
wx.getSetting(Object object)
获取用户的当前设置。

  1. wx.getSetting({
  2. success (res) {
  3. console.log(res.authSetting)
  4. // res.authSetting = {
  5. // "scope.userInfo": true,
  6. // "scope.userLocation": true
  7. // }
  8. }
  9. })

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达叔小生的简书!

这是一个有质量,有态度的博客

[外链图片转存失败(img-4pYQthP6-1564146105363)(https://upload-images.jianshu.io/upload_images/11158618-9ab0d3fef85d80ce?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

发表评论

表情:
评论列表 (有 0 条评论,437人围观)

还没有评论,来说两句吧...

相关阅读

    相关 游戏引擎

    今日微信出了一个小游戏,就是非常火的跳一跳和坦克大战. 我看的非常眼热啊,之前就特别想做微信的游戏.奈何微信的环境做游戏效果还是不如APP好啊. 不过现在有了微信小游戏,还

    相关 飞机大战(游戏

    依旧是熟悉的期末作业,是微信小游戏官网的Demo来着,然后我边百度边对它做了一些改动 说起来好久没更新博客了......最近在用unity做游戏准备参加计算机设计大赛,花了好