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

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

開發 前端
pixi.js 是一個快速、靈活的 2D WebGL 渲染引擎。該庫基于 Canvas 封裝,默認優先使用 WebGL 進行二維圖形繪制,充分利用 GPU 硬件加速能力。如果不支持,會回退到 2D 模式,因為 2D 模式是上層的抽象,所以性能會差一些。

簡單入門 pixi.js。

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

該庫基于 Canvas 封裝,默認優先使用 WebGL 進行二維圖形繪制,充分利用 GPU 硬件加速能力。如果不支持,會回退到 2D 模式,因為 2D 模式是上層的抽象,所以性能會差一些。

開始

首先創建一個 Application 實例。

我們使用 PIXI.Application 類創建一個新 PixiJS 應用。

import * as PIXI from "pixi.js";

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

// 繪制內容
// ...

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

app.view 可以得到 PixiJS 應用掛載的 Canvas 元素。

繪制圖形

繪制圖形需要先創建 Graphics 實例,然后調用其下的方法。

一個 Graphics 代表一個圖形,當然也可以在單個 Graphics 繪制多個圖形。

繪制紅色矩形:

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 是圖形渲染的根節點,我們創建的 graphics 需要添加到 stage 下,這樣才會被渲染出來。

繪制圓形:

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); // 設置精靈圖中心點

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 寫法那樣,一步步繪制了。個人覺得很繁瑣,指令字符串言簡意賅多好的抽象。

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

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

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

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

結尾

一些基本的用法。

責任編輯:姜華 來源: 前端西瓜哥
相關推薦

2021-01-28 08:55:48

Elasticsear數據庫數據存儲

2021-07-21 09:48:20

etcd-wal模塊解析數據庫

2022-07-06 07:57:37

Zookeeper分布式服務框架

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2021-06-28 10:04:12

SpringCloudSleuth微服務

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-03-31 08:09:04

CSS繪制技巧時鐘

2021-06-07 12:06:19

SpringCloud Sleuth微服務

2021-10-14 09:58:24

消息中間件ActiveMQ Java

2021-06-21 14:36:46

Vite 前端工程化工具

2023-03-29 07:45:58

VS編輯區編程工具

2021-04-14 14:16:58

HttpHttp協議網絡協議

2021-04-08 11:00:56

CountDownLaJava進階開發

2024-06-13 08:34:48

2022-03-22 09:09:17

HookReact前端

2022-02-17 08:53:38

ElasticSea集群部署

2022-04-29 14:38:49

class文件結構分析

2021-04-01 10:51:55

MySQL鎖機制數據庫

2021-03-12 09:21:31

MySQL數據庫邏輯架構

2021-10-28 08:51:53

GPIO軟件框架 Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草在线在线精品观看 | 欧美亚洲一区二区三区 | 日韩一区二区成人 | 中文字幕日韩在线观看 | 欧美专区在线 | 婷婷桃色网 | 国产三级日本三级 | 一级黄色影片在线观看 | 五月天激情电影 | 国产在线a | 久久久久久综合 | 北条麻妃一区二区三区在线视频 | 亚洲成人一区二区三区 | 欧美色综合一区二区三区 | 成人日b视频 | 久久久91| 免费精品| 在线啊v| 天天草天天干天天 | 国产黄色免费网站 | 一级黄色毛片免费 | 99re99| 黄色一级毛片 | 国产视频1区 | 999久久久久久久久6666 | 在线观看国产www | 国产精品视频免费观看 | 一区二区三区欧美在线观看 | 亚洲欧美一区二区三区1000 | 日韩av看片 | 一区二区在线 | 欧洲一区二区三区 | 精品自拍视频 | 亚洲欧美综合精品久久成人 | aaa一区 | 国产综合在线视频 | 国产精品区一区二区三 | 蜜桃视频一区二区三区 | 精品一区电影 | 一区二区视屏 | 国产精品91网站 |