pixi是什么?一款h5游戏引擎

  • 优点:简单简洁性能第一
  • 缺点:大多数用的国产三大引擎,pixi资料少,工具少,
  • 为什么学,学习老外的先进处理方式。对比国内的三大框架,你就知道和老外的差距不是一丁点

用pixi开发小游戏行吗?

行.但要简单处理下

下载官网上的 weapp-adapter.js  找到 var TouchEvent = function TouchEvent(type);  此行的后面添加  window.TouchEvent = TouchEvent; 因为这是window事件,必须全局化

另外还需要对weapp-adapter的ajax做下处理

  1. function _triggerEvent(type) {
  2. if (typeof this['on' + type] === 'function') {
  3. for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  4. args[_key - 1] = arguments[_key];
  5. }
  6.  
  7. this['on' + type].apply(this, args);
  8. }
  9. // TODO 添加事件
  10. if (this.listener[type + "__bubble__"]) {
  11. let fun = this.listener[type + "__bubble__"];
  12. fun.apply(this);
  13. }
  14. if (this.listener[type]) {
  15. let fun = this.listener[type];
  16. fun.apply(this);
  17. }
  18. }
  19.  
  20. function _changeReadyState(readyState) {
  21. this.readyState = readyState;
  22. _triggerEvent.call(this, 'readystatechange');
  23. }
  24.  
  25. var XMLHttpRequest = function () {
  26. // TODO 没法模拟 HEADERS_RECEIVED 和 LOADING 两个状态
  27. function XMLHttpRequest() {
  28. _classCallCheck(this, XMLHttpRequest);
  29.  
  30. this.onabort = null;
  31. this.onerror = null;
  32. this.onload = null;
  33. this.onloadstart = null;
  34. this.onprogress = null;
  35. this.ontimeout = null;
  36. this.onloadend = null;
  37. this.onreadystatechange = null;
  38. this.readyState = 0;
  39. this.response = null;
  40. this.responseText = null;
  41. this.responseType = '';
  42. this.responseXML = null;
  43. this.status = 0;
  44. this.statusText = '';
  45. this.upload = {};
  46. this.withCredentials = false;
  47. this.listener = {};
  48.  
  49. _requestHeader.set(this, {
  50. 'content-type': 'application/x-www-form-urlencoded'
  51. });
  52. _responseHeader.set(this, {});
  53. }
  54.  
  55. /*
  56. * TODO 这一批事件应该是在 XMLHttpRequestEventTarget.prototype 上面的
  57. */
  58.  
  59. _createClass(XMLHttpRequest, [{
  60. key:'addEventListener',
  61. value: function addEventListener(type, fun, bubble) {
  62. var listener = this.listener;
  63. if (bubble) {
  64. listener[type + "__bubble__"] = fun;
  65. } else {
  66. listener[type] = fun;
  67. }
  68. }
  69. },
  70. {
  71. key:'removeEventListener',
  72. value: function removeEventListener(type, fun, bubble) {
  73. var listener = this.listener;
  74. if (bubble) {
  75. delete listener[type + "__bubble__"];
  76. } else {
  77. delete listener[type];
  78. }
  79. }
  80. },

  

game.js

import './weapp-adapter'
  import * as PIXI from './pixi.min'

  1. const {pixelRatio, windowWidth, windowHeight} = wx.getSystemInfoSync();
  2.  
  3. let app = new PIXI.Application({
  4. width: windowWidth * pixelRatio,
  5. height: windowHeight * pixelRatio,
  6. view: canvas
  7. });
  8.  
  9. // 因为在微信小游戏里canvas肯定是全屏的,所以映射起来就很简单暴力
  10. // 可以有两种修改
  11. app.renderer.plugins.interaction.mapPositionToPoint = (point, x, y) => {
  12. point.x = x * pixelRatio
  13. point.y = y * pixelRatio
  14. }
  15.  
  16. PIXI.interaction.InteractionManager.prototype.mapPositionToPoint = (point, x, y) => {
  17. point.x = x * pixelRatio
  18. point.y = y * pixelRatio
  19. }
  20.  
  21. -----后面就可以写逻辑了

就这三招,pixi.js小游戏轻轻松松搞定!!!

https://developers.weixin.qq.com/minigame/dev/tutorial/base/adapter.html 官网上下载的原生的

pixi.js用的是4.8.2 当前最新的。

我是honghong, pixi.js开发小游戏一点问题都没有.

如果问题请留言, 大家一起探讨. qq群:881784257

pixi.js 微信小游戏 入手的更多相关文章

  1. PIXI兼容微信小游戏

    首先导入官方的weapp-adapter,然后导入pixi.min.js,微信小程序使用ES6的module引用模块,具体参见ES6的Module. import './libs/weapp-adap ...

  2. three.js 微信小游戏

    最近在 https://classroom.udacity.com/courses/cs291 学习了一些 3D 引擎和 three.js 的知识 把 three.js 弄到微信小游戏里,先随便跑一跑 ...

  3. phaser2 微信小游戏入手

    phaser2小游戏基本没什么什么问题,可以下常开发游戏.如果遇到什么问题, 可以提出来共同讨论. 下面来个例子 import './lib/weapp-adapter'; import Phaser ...

  4. 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)

    微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...

  5. 微信小游戏 demo 飞机大战 代码分析 (三)(spirit.js, animation.js)

    微信小游戏 demo 飞机大战 代码分析(三)(spirit.js, animation.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码 ...

  6. 微信小游戏 demo 飞机大战 代码分析 (二)(databus.js)

    微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  7. 微信小游戏 demo 飞机大战 代码分析 (一)(game.js, main.js)

    微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  8. 【转】利用 three.js 开发微信小游戏的尝试

    前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...

  9. 微信小游戏开发之四:使用three.js引擎

    一.前言 微信小游戏中最魔性的'跳一跳'就是基于three.js 引擎开发的 源码放到github上了:GitHub地址   请自行下载. 二.下载 three.min.js 打开页面,复制代码到本地 ...

随机推荐

  1. 柱体内温度分布图 MATLAB

    对于下底面和侧面绝热,上底面温度与半径平方成正比的柱体,绘制柱体内温度分布图. 这里给出两种尝试:1.散点图:2.切片云图 1. 散点图仿真 首先使用解析算法求的场解值的解析表达,其次求解Bessel ...

  2. MySQL高级——课程大纲

    一.课程概述 总体结构概述: //特别注意本次课程目标在于写出高效的JAVA代码,而非DBA等的专业调优 各章节概述         

  3. 20155331 丹增旦达 2006-2007-2 《Java程序设计》第二周学习总结

    20155331 丹增旦达 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一 ,类型.变量与运算符 一.数据类型 1, 分类: 基本数据类型 byte:字节 ...

  4. 半个小时教你写一个装(bi)逼(she)之地图搜租房

    半个小时教你写一个装(bi)逼(she)之地图搜租房 首先需要一个Python3环境,怎么准备我就不多说了,实在不会的出门右转看一下廖雪峰老师的博客. HTML部分 代码来自:高德API+Python ...

  5. Lambada表达式的作用

    Lambda函数的用处   假设你设计了一个地址簿的类.现在你要提供函数查询这个地址簿,可能根据姓名查询,可能根据地址查询,还有可能两者结合.要是你为这些情况都写个函数,那么你一定就跪了.所以你应该提 ...

  6. sqlite两表更新update

    1 2 3 4 5 6 7 8 9 10 11 12 UPDATE t1 SET Column1 =   ( SELECT Columnx    FROM t2    WHERE t2. KEY = ...

  7. 英特尔® 实感™ 摄像头 (F200) 应用如何实现最佳用户体验

    英特尔开发人员专区原文 由于视频不能直接嵌入, 请点击视频标题观看.谢谢. 英特尔® 实感™ 技术支持我们重新定义如何与计算设备交互,包括允许用户通过手势自然交互. 为了帮助大家了解使用英特尔® 实感 ...

  8. Zabbix远程执行命令

    原文发表于cu:2016-06-14 Zabbix触发器(trigger)达到阀值后会有动作(action)执行:发送告警信息或执行远程命令. 本文主要配置验证zabbix执行远程命令. 一.环境 S ...

  9. 【视频编解码·学习笔记】4. H.264的码流封装格式 & 提取NAL有效数据

    一.码流封装格式简单介绍: H.264的语法元素进行编码后,生成的输出数据都封装为NAL Unit进行传递,多个NAL Unit的数据组合在一起形成总的输出码流.对于不同的应用场景,NAL规定了一种通 ...

  10. org.apache.poi版本问题

    问题描述: 今天跑一段历史代码,发现不能启动,抛出java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK 问题 解决办法: 把org.apache.poi的 ...