微信小游戏实战——飞机大战demo笔记完整篇(函数实现)

本文详细记录了微信小游戏《飞机大战》的开发过程,包括game.js的入口逻辑,game.json的全局配置参数解析,以及src目录下各模块如背景、英雄飞机、子弹、敌机、动画效果、得分显示和游戏结束弹窗的实现细节。同时,介绍了如何使用wx.drawImage方法在canvas中绘制图像,并提到了图片路径在真机上的正确写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 目录结构:

2. game.js:入口文件

//game.js文件完整代码:
import Main from "./src/mian.js"
new Main()
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 3. game.json:全家配置参数文件,参考https://developers.weixin.qq.com/minigame/dev/reference/configuration/app.html

{
  "deviceOrientation":"portrait",
  " showStatusBar":true
}

4. src/main.js:初始化js逻辑代码文件:

import Background from "./all/background.js"
import Audio from "./all/audio.js"
import Hero from "./all/hero.js"
import Bullet from "./all/bullet.js"
import Enemy from "./all/enemy.js"
import Animation from "./all/animation.js"
import Text from "./all/text.js"

class main{
  constructor(){
    this.canvas = wx.createCanvas()
    this.ctx = this.canvas.getContext('2d')
    
    this.ch=GameGlobal.innerHeight //屏幕的高
    this.cw = GameGlobal.innerWidth //屏幕的宽

    this.bulletObjArr=[]  //存放屏幕内可见的子弹数组
    this.enemyObjArr=[]    //存放屏幕内可见的敌机数组
    this.animationObjArr=[]  //存放屏幕内可见的爆炸效果动画的数组

    this.bangImgArr=[]  //提前缓存19张爆炸效果图数组
    for(let i=0;i<19;i++){
      let obj={
        bang:wx.createImage()
      }
      obj.bang.src = `./images/explosion${i+1}.png`
      this.bangImgArr.push(obj)
    }

    this.scoreNum=0  //得分
    this.bgMoveTop=0  //背景图片移动的上下位移
    this.initStart()   //初始化逻辑
  }
  initStart(){     
    let bgObj=n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值