最近做了个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的更多相关文章

  1. (原)用pixi.js 实现 方块阵点击后原地自转效果

    源码 各位,请教一个问题,我这个还有BUG,我是想实现,点击一下可以 停止转动,然后再点一下重新转动.而不是一直加速,有没有什么好办法?  PS:问题已经解决,谢谢评论的大神@Antineutrino ...

  2. 让hammer完美支持Pixi.js - 2D webG库

    由于项目改造,采用2D webG的pixi库,那么基于canvas的结构上,事件就是最大的一个问题了 改造的原理很简单,把hammer里面的addEventListeners事件绑定给第三方库代替,事 ...

  3. 利用pixi.js制作精灵动画

    CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.国内开发者昵称为CSS精灵,通过一定的技术手段,让精灵动起来,我称其为精灵动画,那么目前有哪些实现方式 呢?下面让我们详细的聊聊 ...

  4. pixi.js教程中文版--基础篇

    前言 Pixi.js使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库.提供无缝 C ...

  5. HTML5游戏开发引擎Pixi.js完全入门手册(一)框架简介及框架结构分析,作者思路剖析

    前言: 最近无聊在淘宝弄了个小店,打算做一个兼职.遇到一个客户,要我帮忙拷贝一个html5游戏.. 我这人有一个习惯,拿到自己没见过的东西.都会去研究一番.去网上查了下发现,资料都是英文版.感觉极度不 ...

  6. pixi.js

    添加基本文件(库文件) 渲染库 pixi.js pixi.lib.js是pixi.js的子集,依赖class.js,cat.js,event_emiter.js文件 pixi.scroller.js ...

  7. 三星a9上测试egret与pixi.js的渲染性能

    for (let i = 0; i < 500; i++) { let shape = new egret.Shape(); shape.graphics.beginFill(0xff0000) ...

  8. pixi.js v5 快速了解

    pixi.js 追求简单,  性能,高价值. pixi.js v5将是一交比较大的升级,代码更加精简,性能更加强悍,功能更加丰富,扩展更加高效 pixi.js一步一脚印,版本持续稳定的更新, 深入学习 ...

  9. pixi.js + three.js

    three.js    最好的webgl 3d渲染库之一, pixi.js    最好的webgl 2d渲染库之一,也许可以把之一去掉 两个库都很精简,如果把两个库结合起来,一定很爽很爽,你说是吧! ...

  10. 如何在PIXI.js里面使用json文件来管理瓦片集(tileset)?

    如何在PIXI.js里面使用json文件来管理瓦片集(tileset)? PIXI建议我们将素材图片汇总成一个瓦片集(tileset),然后用纹理地图集(texture atlas,通常是一个json ...

随机推荐

  1. CANoe学习笔记(五):Diva自动化测试工程

    内容: Diva工程的建立 Diva工程的配置 测试条例选择 一.新建一个Diva工程 左上角选择New,然后配置好下面部分 二.配置Diva工程 1. 2. 3.配置一些时间参数,按需求填写 4.其 ...

  2. S32DS---make: *** No rule to make target 'clean'. Stop和make: *** No rule to make target 'all'. Stop的一个解决方法

    问题: 最近在用S32DS调试代码的时候,遇到一个稀奇古怪的问题: and 折腾了半天,发现从这个页面导入工程编译就不会出现这个问题???? file-->import projects fro ...

  3. MySQL锁表解锁表

    CREATE TABLE t1 ( id int(11) NOT NULL, val varchar(10) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoD ...

  4. ChatGPT使用案例,助你快速上手,做事事半功倍

    ChatGPT介绍 首先我们来看一下chat-gpt自己的介绍: ChatGPT的发展历程 2015年,OpenAI成立,致力于研究和开发人工智能技术.在成立初期,OpenAI的创始人之一Elon M ...

  5. js修改css样式

    修改宽度: document.getElementById("div1").style.width="200px"; 修改border-radius: docu ...

  6. CF1832F Zombies

    简要题意 给定 \(n\) 个左闭右开的区间 \(A_i = [L_i, R_i)\),其中 \(0\le L_i < R_i \le x\),你可以自由选择 \(k\) 个长度为 \(m\) ...

  7. 浅谈OpenCV的多对象匹配图像的实现,以及如何匹配透明控件,不规则图像

    浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件 引子 OpenCV提供的templateMatch只负责将(相关性等)计算出来,并不会直接提供目标的对应坐标,一般来说我们直接遍历最 ...

  8. linux 服务器上查看日志的几种方式

      1.tail命令:tail -f filename 可以动态的查看日志的输出内容.     查看文件的最后几行,默认是10行,但是可以通过-n 参数来指定要查看的行数.     例如tail -n ...

  9. 云享·案例丨打造数智物流底座,华为云DTSE助力物联云仓解锁物流新“速度”

    摘要:华为云凭借领先的技术和快速响应的开发者支持服务,助力物联亿达实现云上资源高可用.提升系统安全性与稳定性,为物联亿达提供了扎实的数字化基础. 本文分享自华为云社区<云享·案例丨打造数智物流底 ...

  10. TornadoFx 页面之间的数据传递

    原文地址: TornadoFx 页面之间的数据传递 - Stars-One的杂货小窝 和Android开发一样,经常遇到两个页面之间需要进行数据的交互传输,本文讲解下TornadoFx框架中,页面之间 ...