博客
关于我
超小白的 入门 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/

    你可能感兴趣的文章
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    mt_rand
    查看>>
    mysql -存储过程
    查看>>
    mysql /*! 50100 ... */ 条件编译
    查看>>
    mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>
    mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
    查看>>
    mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
    查看>>
    MySQL 8.0 恢复孤立文件每表ibd文件
    查看>>