Ionic 整合 pixi.js
最近做了个app,上线google play不大顺利,说是有假冒行为,然后改了下icon和名字以及描述,但是没啥信息去上,于是暂时放下搞点别的。
因为近期看到个比较有趣的绘图创意,
于是想通过ionic整合pixi来实现,
整合途径来自这里:
Integrate pixijs - typescript in Ionic 2 with npm
为啥是pixi呢?因为pixi目前来讲是地球上效率最好的js 2d渲染框架。
基于pixi的游戏框架phaser更是霸气十足。
以下是在ionic中使用pixi的步骤:
1. 新建ionic项目
2. 进入项目运行npm install --save pixi.js:添加pixi包
3. 运行npm install --save @types/pixi.js:添加typescript包
就这样pixi就在你的项目中可以使用了。
到任意一个page里面,加入一些代码以确保pixi是否可以正常运行,ts文件中:
import { Component,ViewChild,ElementRef } from '@angular/core';
import { NavController } from 'ionic-angular';
import * as PIXI from 'pixi.js';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
@ViewChild('content') content:ElementRef;
constructor(public navCtrl: NavController) {
console.log(window.innerWidth,window.innerHeight);
}
ionViewDidLoad(){
var type = "WEBGL";
if(!PIXI.utils.isWebGLSupported){
type = "canvas";
}
PIXI.utils.sayHello(type);
var app = new PIXI.Application(window.innerWidth, window.innerHeight,{backgroundColor:0x1099bb});
this.content.nativeElement.appendChild(app.view);
let bg = new PIXI.Graphics();
bg.beginFill(0xcccccc,0.6);
bg.drawRect(0,0,window.innerWidth, window.innerHeight);
bg.endFill();
bg.interactive = true;
app.stage.addChild(bg);
bg.on('pointerdown',onClick);
bg.on('pointermove',onMove);
function onClick(evt){
console.log('on touched...',evt);
}
function onMove(evt){
var pos = evt.data.getLocalPosition(this.parent);
bg.beginFill(Math.random()*0xffffff,1);
bg.drawCircle(pos.x, pos.y,5);
bg.endFill();
console.log('on move...');
}
}
}
模板文件.html中修改为如下:
<ion-content>
<div #content style="width:100%" ></div>
</ion-content>
#content 可以让它在ts中以ViewChild方式找到。
这里是一个简单的拖动绘制随机颜色圆的demo。
效果图如下:

Ionic 整合 pixi.js的更多相关文章
- (原)用pixi.js 实现 方块阵点击后原地自转效果
源码 各位,请教一个问题,我这个还有BUG,我是想实现,点击一下可以 停止转动,然后再点一下重新转动.而不是一直加速,有没有什么好办法? PS:问题已经解决,谢谢评论的大神@Antineutrino ...
- 让hammer完美支持Pixi.js - 2D webG库
由于项目改造,采用2D webG的pixi库,那么基于canvas的结构上,事件就是最大的一个问题了 改造的原理很简单,把hammer里面的addEventListeners事件绑定给第三方库代替,事 ...
- 利用pixi.js制作精灵动画
CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.国内开发者昵称为CSS精灵,通过一定的技术手段,让精灵动起来,我称其为精灵动画,那么目前有哪些实现方式 呢?下面让我们详细的聊聊 ...
- pixi.js教程中文版--基础篇
前言 Pixi.js使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库.提供无缝 C ...
- HTML5游戏开发引擎Pixi.js完全入门手册(一)框架简介及框架结构分析,作者思路剖析
前言: 最近无聊在淘宝弄了个小店,打算做一个兼职.遇到一个客户,要我帮忙拷贝一个html5游戏.. 我这人有一个习惯,拿到自己没见过的东西.都会去研究一番.去网上查了下发现,资料都是英文版.感觉极度不 ...
- pixi.js
添加基本文件(库文件) 渲染库 pixi.js pixi.lib.js是pixi.js的子集,依赖class.js,cat.js,event_emiter.js文件 pixi.scroller.js ...
- 三星a9上测试egret与pixi.js的渲染性能
for (let i = 0; i < 500; i++) { let shape = new egret.Shape(); shape.graphics.beginFill(0xff0000) ...
- pixi.js v5 快速了解
pixi.js 追求简单, 性能,高价值. pixi.js v5将是一交比较大的升级,代码更加精简,性能更加强悍,功能更加丰富,扩展更加高效 pixi.js一步一脚印,版本持续稳定的更新, 深入学习 ...
- pixi.js + three.js
three.js 最好的webgl 3d渲染库之一, pixi.js 最好的webgl 2d渲染库之一,也许可以把之一去掉 两个库都很精简,如果把两个库结合起来,一定很爽很爽,你说是吧! ...
- 如何在PIXI.js里面使用json文件来管理瓦片集(tileset)?
如何在PIXI.js里面使用json文件来管理瓦片集(tileset)? PIXI建议我们将素材图片汇总成一个瓦片集(tileset),然后用纹理地图集(texture atlas,通常是一个json ...
随机推荐
- java中接口,抽象类,具体类之间的关系
抽象类实现接口,具体类继承于抽象类
- Win10环境配置(二) ——Java篇
Win10环境配置(二) --Java篇 1.工具准备 官网下载地址:[jdk-11.0.11](Java SE Development Kit 11- - Downloads (oracle.com ...
- DASCTF二进制专项部分Writeup
easynote create:堆大小可以任意分配只要不超过0xFFF create() unsigned __int64 create() { int i; // [rsp+0h] [rbp-20 ...
- Ascend C sqrt算子实战
摘要:编写一个Ascend C的sqrt算子,并通过内核调用方式在cpu和npu模式下进行验证. 本文分享自华为云社区<[2023 · CANN训练营第一季]--Ascend C sqrt算子实 ...
- 行行AI人才直播第5期:系列课-AI理解及ChatGPT从基础到高级应用
当前,人工智能是全世界研究的重点对象,也是人们茶余饭后讨论的经典话题.自从 OpenAI 发布 ChatGPT-4 之后,似乎无论是在工作.娱乐.甚至是日常生活中,我们都能感受到AI带来的便利和改变. ...
- MySQL-this is incompatible with sql_mode=only_full_group_by 错误解决
MySQL-this is incompatible with sql_mode=only_full_group_by 错误解决 编辑配置文件 Linux 中 :my.cnf Windows中 : m ...
- 【Oracle】当条件中存在空值时,同时将空值和非空值的结果查询出来
[Oracle]当条件中存在空值时,同时将空值和非空值的结果查询出来 如果不是一定要用这个存在空值的条件的话,最好还是不用为好,省的麻烦 正常的查询结果如下 select * from ttt2023 ...
- 「Python实用秘技15」pandas中基于范围条件进行表连接
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第15 ...
- ChatGPT帮助工程师写代码:从功能模块完善到成功执行,实现需求
在软件开发过程中,经常会遇到需要完善功能模块.调试代码和解决问题的情况.为了提高效率,我们可以借助人工智能技术,例如OpenAI的ChatGPT语言模型,来协助我们进行代码编写和调试.本文将介绍一个案 ...
- Cilium系列-8-绕过 IPTables 连接跟踪
系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...