博客
关于我
超小白的 入门 phaser
阅读量:652 次
发布时间:2019-03-15

本文共 2167 字,大约阅读时间需要 7 分钟。

安装必要的依赖:

  • 在项目根目录执行 npm init -y

  • 安装以下依赖:

    "@babel/core": "^7.11.1",  "@babel/preset-env": "^7.11.0",  "@babel/preset-typescript": "^7.10.4",  "babel-loader": "^8.1.0",  "html-webpack-plugin": "^4.3.0",  "phaser": "^3.24.1",  "webpack": "^5.0.0-beta.24",  "webpack-cli": "^3.3.12"
  • 修改 package.json 中的 scripts

    "dev": "webpack --mode development"
  • 创建必要文件:

    • webpack.config.js

      const path = require('path')  const HtmlWebpackPlugin = require('html-webpack-plugin')  module.exports = {    entry: {      app: './src/web/index.ts'    },    module: {      rules: [        {          test: /\.ts$/,          exclude: /(node_modules|bower_components)/,          use: {            loader: 'babel-loader'          }        }      ]    },    plugins: [      new HtmlWebpackPlugin({        filename: 'index.html',        template: './src/web/index.html'      })    ]  }
    • tsconfig.json

      {    "compilerOptions": {      "target": "ES5"    },    "include": ["src"],    "exclude": ["node_modules"]  }
    • .babelrc

      {    "presets": ["@babel/preset-env", "@babel/preset-typescript"]  }

    创建 src/web 文件夹内的文件:

    • src/web/index.html

      h5 game
    • src/web/index.ts

      import { AUTO, Game, Scene } from 'phaser';  class Demo extends Scene {    constructor() {      super("demo");    }    public preload() {      this.load.setBaseURL("http://labs.phaser.io");      this.load.image("sky", "assets/skies/space");      this.load.image("red", "assets/skies/space");      this.load.image("logo", "assets/skies/space");    }    public create() {      this.add.image(400, 300, "sky");      const particles = this.add.particles("red");      const emitter = particles.createEmitter({        speed: 100,        scale: { start: 1, end: 0 },        blendMode: "ADD"      });      const logo = this.physics.add.image(400, 100, "logo");      logo.setVelocity(100, 200);      logo.setBounce(1, 1);      logo.setCollideWorldBounds(true);      emitter.startFollow(logo);    }  }  const config: Phaser.Types.Core.GameConfig = {    type: AUTO,    width: 800,    height: 600,    parent: "main",    physics: {      default: "arcade",      arcade: {        gravity: { y: 200 }      }    }  };  const game = new Game(config);

    转载地址:http://lafmz.baihongyu.com/

    你可能感兴趣的文章
    mysql id自动增长 初始值 Mysql重置auto_increment初始值
    查看>>
    MySQL in 太多过慢的 3 种解决方案
    查看>>
    Mysql Innodb 锁机制
    查看>>
    MySQL InnoDB中意向锁的作用及原理探
    查看>>
    MySQL InnoDB事务隔离级别与锁机制深入解析
    查看>>
    Mysql InnoDB存储引擎 —— 数据页
    查看>>
    Mysql InnoDB存储引擎中的checkpoint技术
    查看>>
    Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
    查看>>
    MySQL InnoDB引擎的锁机制详解
    查看>>
    Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
    查看>>
    mysql InnoDB数据存储引擎 的B+树索引原理
    查看>>
    mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
    查看>>
    mysql problems
    查看>>
    MySQL replace函数替换字符串语句的用法(mysql字符串替换)
    查看>>
    mysql workbench6.3.5_MySQL Workbench
    查看>>
    MySQL Workbench安装教程以及菜单汉化
    查看>>
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>