成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇帶給你Pixi.js 入門 (一):繪制圖形

開(kāi)發(fā) 前端
pixi.js 是一個(gè)快速、靈活的 2D WebGL 渲染引擎。該庫(kù)基于 Canvas 封裝,默認(rèn)優(yōu)先使用 WebGL 進(jìn)行二維圖形繪制,充分利用 GPU 硬件加速能力。如果不支持,會(huì)回退到 2D 模式,因?yàn)?2D 模式是上層的抽象,所以性能會(huì)差一些。

簡(jiǎn)單入門 pixi.js。

pixi.js 是一個(gè)快速、靈活的 2D WebGL 渲染引擎。

該庫(kù)基于 Canvas 封裝,默認(rèn)優(yōu)先使用 WebGL 進(jìn)行二維圖形繪制,充分利用 GPU 硬件加速能力。如果不支持,會(huì)回退到 2D 模式,因?yàn)?2D 模式是上層的抽象,所以性能會(huì)差一些。

開(kāi)始

首先創(chuàng)建一個(gè) Application 實(shí)例。

我們使用 PIXI.Application 類創(chuàng)建一個(gè)新 PixiJS 應(yīng)用。

import * as PIXI from "pixi.js";

const app = new PIXI.Application({ width: 640, height: 360 });
document.body.appendChild(app.view);

// 繪制內(nèi)容
// ...

該類可以傳入配置對(duì)象,比如畫布寬高(width / height)、背景色(backgroudColor,默認(rèn)為黑色)、掛載的 canvas 元素(view,不提供 PixiJS 會(huì)創(chuàng)建一個(gè))等。

app.view 可以得到 PixiJS 應(yīng)用掛載的 Canvas 元素。

繪制圖形

繪制圖形需要先創(chuàng)建 Graphics 實(shí)例,然后調(diào)用其下的方法。

一個(gè) Graphics 代表一個(gè)圖形,當(dāng)然也可以在單個(gè) Graphics 繪制多個(gè)圖形。

繪制紅色矩形:

const rect = new PIXI.Graphics();

rect.beginFill(0xff0044); // 填充色
rect.lineStyle({ width: 2, color: 0x0000ff }); // 描邊
rect.drawRect(10, 10, 100, 50);
rect.endFill();

app.stage.addChild(rect);

app.stage 是圖形渲染的根節(jié)點(diǎn),我們創(chuàng)建的 graphics 需要添加到 stage 下,這樣才會(huì)被渲染出來(lái)。

繪制圓形:

const circle = new PIXI.Graphics();

circle.beginFill(0x00ff00);
circle.drawCircle(200, 10, 50);
circle.endFill();

app.stage.addChild(circle);

繪制精靈:

const bunny = PIXI.Sprite.from('examples/assets/bunny.png');

bunny.anchor.set(0.5); // 設(shè)置精靈圖中心點(diǎn)

bunny.x = app.screen.width / 2; // 將精靈圖繪制在畫布正中央
bunny.y = app.screen.height / 2;

app.stage.addChild(bunny);

繪制曲線不支持 SVG 的那種方便的 指令字符串 寫法:

// 不支持
const trackPath = new Path2D("M10 10 h 80 v 80 h -80 Z");

只能用類似原生 Canvas 寫法那樣,一步步繪制了。個(gè)人覺(jué)得很繁瑣,指令字符串言簡(jiǎn)意賅多好的抽象。

const path = new PIXI.Graphics();
path.lineStyle({ width: 1, color: 0x0000ff });
path.moveTo(10, 10);
path.lineTo(20, 100);
path.bezierCurveTo(40, 120, 60, 120, 80, 100)
app.stage.addChild(path);

容器 Container

使用容器,可以將多個(gè)圖形進(jìn)行組合,然后在其上添加位移、旋轉(zhuǎn)等屬性,其下的圖形會(huì)得到這些效果。

Container 不繪制圖形,它組合圖形,類似 SVG 的 group 元素。

const container = new PIXI.Container();
container.x = 80;
container.y = 80;
container.addChild(rect, circle);
app.stage.addChild(container);

結(jié)尾

一些基本的用法。

責(zé)任編輯:姜華 來(lái)源: 前端西瓜哥
相關(guān)推薦

2021-01-28 08:55:48

Elasticsear數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2021-07-21 09:48:20

etcd-wal模塊解析數(shù)據(jù)庫(kù)

2022-07-06 07:57:37

Zookeeper分布式服務(wù)框架

2021-06-28 10:04:12

SpringCloudSleuth微服務(wù)

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-03-31 08:09:04

CSS繪制技巧時(shí)鐘

2021-10-14 09:58:24

消息中間件ActiveMQ Java

2021-06-07 12:06:19

SpringCloud Sleuth微服務(wù)

2021-04-14 07:55:45

Swift 協(xié)議Protocol

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙

2021-10-28 08:51:53

GPIO軟件框架 Linux

2023-03-13 09:31:04

2021-07-08 07:30:13

Webpack 前端Tree shakin

2021-05-08 08:36:40

ObjectString前端

2021-04-23 08:59:35

ClickHouse集群搭建數(shù)據(jù)庫(kù)

2021-06-21 14:36:46

Vite 前端工程化工具

2023-03-29 07:45:58

VS編輯區(qū)編程工具

2021-04-14 14:16:58

HttpHttp協(xié)議網(wǎng)絡(luò)協(xié)議

2021-04-08 11:00:56

CountDownLaJava進(jìn)階開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美视频一区 | 久久久久国产精品一区二区 | 午夜在线免费观看 | 久久久久亚洲精品 | 国产精品久久久久久久久久免费看 | 91在线一区二区 | 99爱在线观看| 99久久亚洲 | 亚洲第一天堂无码专区 | 美女一区 | 日本电影网站 | 一区二区在线不卡 | 成人综合在线视频 | 91高清在线观看 | 偷派自拍| 成人午夜电影在线观看 | 亚洲 欧美 另类 综合 偷拍 | 欧美黄色片在线观看 | 久久1区| 精品亚洲一区二区三区四区五区 | 蜜桃日韩| 久久久久久久综合色一本 | a在线视频观看 | 精品欧美乱码久久久久久 | 成人国产精品久久 | 欧美一区二区三区大片 | 日日夜夜天天综合 | 精品久久国产 | 婷婷丁香激情 | h在线观看 | 欧美在线视频一区 | 91激情电影 | 一区二区欧美在线 | 在线观看亚洲专区 | 草久久久 | 亚洲综合网站 | 日本成人中文字幕 | 免费久| 日韩欧美在线免费观看 | 精品免费视频一区二区 | 成人福利电影 |