博客
关于我
超小白的 入门 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 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>
    mysql 实现主从复制/主从同步
    查看>>
    mysql 审核_审核MySQL数据库上的登录
    查看>>
    mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
    查看>>
    mysql 导入导出大文件
    查看>>
    mysql 将null转代为0
    查看>>
    mysql 常用
    查看>>
    MySQL 常用列类型
    查看>>