博客
关于我
超小白的 入门 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 join原理
    查看>>
    MySQL Join算法与调优白皮书(二)
    查看>>
    Mysql order by与limit混用陷阱
    查看>>
    Mysql order by与limit混用陷阱
    查看>>
    mysql order by多个字段排序
    查看>>
    MySQL Order By实现原理分析和Filesort优化
    查看>>
    mysql problems
    查看>>
    mysql replace first,MySQL中处理各种重复的一些方法
    查看>>
    MySQL replace函数替换字符串语句的用法(mysql字符串替换)
    查看>>
    mysql replace用法
    查看>>
    Mysql Row_Format 参数讲解
    查看>>
    mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
    查看>>
    MySQL Server 5.5安装记录
    查看>>
    mysql server has gone away
    查看>>
    mysql slave 停了_slave 停止。求解决方法
    查看>>
    MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
    查看>>
    MYSQL sql语句针对数据记录时间范围查询的效率对比
    查看>>
    mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
    查看>>
    mysql Timestamp时间隔了8小时
    查看>>
    Mysql tinyint(1)与tinyint(4)的区别
    查看>>