如何设置敌人

在game.js中设置一个变量:

let time = 0

在 step中,让time自增:

time += 1;

工夫距离就是:

if (time % 150 == 0) {    //这里减少敌人}

因为敌人很多,因而是一个数组:

const enemys = []

敌人的图片要加到资源载入器中:

loader.add('enemy', 'images/enemy.png')

当距离肯定工夫时,减少敌人:

time += 1;if (time % 150 == 0) {    const enemy = new Sprite(0, 0, res['enemy'], 0.5)    enemy.setPosition(rand(0, windowWidth), 0)    enemys.push(enemy)}

绘制敌人

enemys.map(enemy => {    enemy.y++;    enemy.draw(context)})

随机数,让敌人程度x地位是0~屏幕宽度:

function rand(min, max) {  return Math.round(Math.random() * (max - min) + min);}

当初,成果如下:

当初,game.js 全副代码如下:

import './libs/weapp-adapter'import './libs/symbol'import {  ResLoader,  Sprite} from './codetyphon/index'const context = canvas.getContext('2d')const {  windowWidth,  windowHeight} = wx.getSystemInfoSync()let time = 0const enemys = []function rand(min, max) {  return Math.round(Math.random() * (max - min) + min);}const loader = new ResLoader()loader.add('player', 'images/player.png')loader.add('enemy', 'images/enemy.png')loader.on_load_finish((res) => {  const player = new Sprite(0, 0, res['player'], 0.5)  player.setPosition(windowWidth / 2, windowHeight - player.height)  const step = (timestamp) => {    time += 1;    if (time % 150 == 0) {      const enemy = new Sprite(0, 0, res['enemy'], 0.5)      enemy.setPosition(rand(0, windowWidth), 0)      enemys.push(enemy)    }    context.clearRect(0, 0, windowWidth, windowHeight)    player.update()    player.draw(context)    enemys.map(enemy => {      enemy.y++;      enemy.draw(context)    })    window.requestAnimationFrame(step);  }  window.requestAnimationFrame(step);  wx.onTouchMove(function (res) {    const x = res.changedTouches[0].clientX    const y = res.changedTouches[0].clientY    player.setPosition(x, y)  })})

下一篇,是减少碰撞检测。