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

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

用pixi开发小游戏行吗?

行.但要简单处理下

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

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

function _triggerEvent(type) {
if (typeof this['on' + type] === 'function') {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
} this['on' + type].apply(this, args);
}
// TODO 添加事件
if (this.listener[type + "__bubble__"]) {
let fun = this.listener[type + "__bubble__"];
fun.apply(this);
}
if (this.listener[type]) {
let fun = this.listener[type];
fun.apply(this);
}
} function _changeReadyState(readyState) {
this.readyState = readyState;
_triggerEvent.call(this, 'readystatechange');
} var XMLHttpRequest = function () {
// TODO 没法模拟 HEADERS_RECEIVED 和 LOADING 两个状态
function XMLHttpRequest() {
_classCallCheck(this, XMLHttpRequest); this.onabort = null;
this.onerror = null;
this.onload = null;
this.onloadstart = null;
this.onprogress = null;
this.ontimeout = null;
this.onloadend = null;
this.onreadystatechange = null;
this.readyState = 0;
this.response = null;
this.responseText = null;
this.responseType = '';
this.responseXML = null;
this.status = 0;
this.statusText = '';
this.upload = {};
this.withCredentials = false;
this.listener = {}; _requestHeader.set(this, {
'content-type': 'application/x-www-form-urlencoded'
});
_responseHeader.set(this, {});
} /*
* TODO 这一批事件应该是在 XMLHttpRequestEventTarget.prototype 上面的
*/ _createClass(XMLHttpRequest, [{
key:'addEventListener',
value: function addEventListener(type, fun, bubble) {
var listener = this.listener;
if (bubble) {
listener[type + "__bubble__"] = fun;
} else {
listener[type] = fun;
}
}
},
{
key:'removeEventListener',
value: function removeEventListener(type, fun, bubble) {
var listener = this.listener;
if (bubble) {
delete listener[type + "__bubble__"];
} else {
delete listener[type];
}
}
},

  

game.js

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

const {pixelRatio, windowWidth, windowHeight} = wx.getSystemInfoSync();

let app = new PIXI.Application({
width: windowWidth * pixelRatio,
height: windowHeight * pixelRatio,
view: canvas
}); // 因为在微信小游戏里canvas肯定是全屏的,所以映射起来就很简单暴力
// 可以有两种修改
app.renderer.plugins.interaction.mapPositionToPoint = (point, x, y) => {
point.x = x * pixelRatio
point.y = y * pixelRatio
} PIXI.interaction.InteractionManager.prototype.mapPositionToPoint = (point, x, y) => {
point.x = x * pixelRatio
point.y = y * pixelRatio
} -----后面就可以写逻辑了

就这三招,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. Go Web 使用工具

    前端工具: sublime text3 下载:https://www.sublimetext.com/3 中文版设置:https://jingyan.baidu.com/article/9c69d48 ...

  2. postgresql 安装插件

    最近由于工作需要,学习了citusdata 插件,在按照官方文档装好postgresql 之后,不能在psql 中正常启用其它插件  如 : "create extension pg_trg ...

  3. 20155224 《实验二 Java面向对象程序设计》实验报告

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 没有Linux ...

  4. 20155227 2016-2017-2《Java程序设计》课程总结

    20155227 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:我眼中的师生关系. 预备作业2:一些简单的C语言知识回顾,并总结之前一些成功的 ...

  5. 20155325 2016-2017-2 《Java程序设计》课程总结

    (按顺序)每周作业链接汇总 预备作业1:浅谈对师生关系的看法以及对未来学习生活的展望 预备作业2:学习娄老师<做中学>系列文章.自身C语言情况.Java课程目标 预备作业3:安装虚拟机情况 ...

  6. !important用法:

    如果不加important特性,则超链接的颜色为蓝色,但是加上important之后优先级提高了,显示颜色为绿色 <style type="text/css"> a{ ...

  7. day1 函数 (独立功能代码块)

    1.引入函数 2.函数执行过程 4.带参数的函数 5.带返回值的函数 6. 多个返回值 (return a,b,c)元组 7.4种函数 1.引入函数 独立功能代码块 ---> 封装 ----&g ...

  8. equals和==方法比较(一)

    问题描述 今天在使用spotbugs代码走查时发现这样一个问题,两个Long类型的变量使用==判断数值是否相等,spotbugs提示这是一个很致命的错误,代码大概如下, Long l1=123l; L ...

  9. 使用phpMyAdmin管理网站数据库(创建、导入、导出…)

    作为一名站长,最重视的就是网站的数据安全了.本节襄阳网站优化就来讲讲如何使用phpMyAdmin管理软件进行mysql数据库的管理,实现基本的数据库管理用户.数据库的创建.数据的导入和导出操作(网站备 ...

  10. Mac系统STF自动化环境搭建及部署踩坑记录

    因为公司需要寻找一个免root的自动化测试方案,所以以前做的老方案需要被替代.一阵搜寻找到了这个框架,但是部署起来很是折腾,搞了一下午终于搞定,顺便记录一下过程,有需要的自取. 转载请注明出处:htt ...