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

PixiJS 學(xué)習(xí):設(shè)置圖形的光標(biāo)樣式

開(kāi)發(fā) 前端
當(dāng) pixijs 要設(shè)置圖形的 cursor 值時(shí),如果發(fā)現(xiàn)映射表中作為 key 有映射值,會(huì)改為使用映射值;否則直接使用圖形的 cursor 值。

大家好,我是前端西瓜哥。

最近又要開(kāi)始學(xué)習(xí) pixijs 了。

今天我們來(lái)學(xué)習(xí)如何給 pixijs 的圖形設(shè)置光標(biāo)(cursor)。

pixijs 版本為 7.4.2

首先我們先用 pixijs 繪制好一個(gè)橢圓和一個(gè)矩形。

import { Application, Graphics } from'pixi.js';

const app = new Application({
width: 500,
height: 400,
antialias: true,
backgroundColor: 0xffffff,
});

const ellipse = new Graphics()
  .beginFill(0xff0044)
  .drawEllipse(130, 100, 60, 30)
  .endFill();

const rect = new Graphics()
  .beginFill(0x0000ff)
  .drawRect(200, 150, 60, 40)
  .endFill();

app.stage.addChild(ellipse, rect);
document.body.appendChild(app.view);

渲染結(jié)果為:

設(shè)置光標(biāo)

我們先給 ellipse 設(shè)置為可交互,這樣圖形才能激活 hitTest 功能和觸發(fā)事件。

ellipse.eventMode = 'static';
// ellipse.interactive = true; // 這個(gè)廢棄了

然后設(shè)置 cursor 為 pointer。

ellipse.cursor = 'pointer';

看看效果:

原理是鼠標(biāo)移動(dòng)時(shí)會(huì)進(jìn)行 hitTest,當(dāng)橢圓的 hitTest 為 true 時(shí),將 canvas 畫(huà)布元素的 style 的 cursor 屬性設(shè)置為橢圓對(duì)應(yīng)的 cursor,即 "pointer"。

當(dāng)鼠標(biāo)移出橢圓時(shí),canvas 的 cursor 值會(huì)恢復(fù)為默認(rèn)的  "inherit"。

矩形因?yàn)闆](méi)設(shè)置為可交互,所以沒(méi)有任何反應(yīng)。

設(shè)置自定義光標(biāo)

一般來(lái)說(shuō),pixijs 只是會(huì)將 canvas 的 cursor 改為對(duì)應(yīng)的字符串值,比如 "default"。

但我們可以全局配置 app.renderer.events.cursorStyles,重新定義 "default" 為我們自定義的光標(biāo)圖片。

app.renderer.events.cursorStyles.default =
  'url(./suika-cursor-default.png) 5 5, auto';

app.renderer.events.cursorStyles.pointer =
  'url(./suika-cursor-move.png) 16 16, auto';

語(yǔ)法同 CSS 的 cursor。

效果:

其實(shí)就是更新了一個(gè)映射表,當(dāng) pixijs 要設(shè)置圖形的 cursor 值時(shí),如果發(fā)現(xiàn)映射表中作為 key 有映射值,會(huì)改為使用映射值;否則直接使用圖形的 cursor 值。

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

2023-02-22 09:27:31

CanvasWebGL

2023-02-23 08:40:09

Pixijs修改圖形屬性

2024-01-08 08:30:05

光標(biāo)圖形編輯器開(kāi)發(fā)游標(biāo)

2010-08-09 15:19:29

Flex滾動(dòng)條

2024-10-23 09:05:07

PixijsMatrixTransform

2023-07-07 13:56:01

圖形編輯器畫(huà)布縮放

2023-10-09 07:49:33

PixiJSWebGL

2010-08-03 09:27:29

設(shè)置Flex樣式

2010-08-03 09:54:20

Flex鼠標(biāo)樣式設(shè)置

2023-10-13 07:29:23

PixiJSRunner

2023-02-28 07:28:50

Spritepixijs

2010-09-13 13:44:35

CSS表格CSS表單

2023-06-08 08:16:33

TickerPixiJS

2023-06-07 08:13:46

PixiJSCanvas 庫(kù)

2010-08-13 08:57:20

Flex主題

2010-09-07 13:45:53

<div>標(biāo)簽

2020-06-30 20:55:17

PygalPython編程語(yǔ)言

2023-03-02 07:44:39

pixijsWebGL

2010-07-12 13:56:33

UML圖形

2010-09-10 09:57:27

DIV樣式
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 涩在线 | 一级中国毛片 | 久久精品一区 | 麻豆91精品91久久久 | 久久久久久国产精品 | 亚洲精品视频在线看 | 婷婷中文字幕 | 久久激情网 | av在线二区| 国产亚洲一区二区三区在线观看 | 中文字幕国产一区 | 一级片片 | 日韩欧美精品一区 | 国产农村妇女毛片精品久久麻豆 | 亚洲一区二区av | 久久国产一区二区 | 精品久久久久久 | 久久精品—区二区三区 | 欧美一级黄色免费看 | 午夜成人在线视频 | 日本一区不卡 | 久草欧美 | 久久久久久久久久久一区二区 | 国产a爽一区二区久久久 | 国产精品1区2区3区 国产在线观看一区 | 免费人成在线观看网站 | 久久久久久久亚洲精品 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 国产精品视频在线观看 | 久久国产99 | 99热都是精品 | 青青草原综合久久大伊人精品 | 国产小视频在线观看 | 亚洲欧洲精品成人久久奇米网 | 欧美在线高清 | 超碰天天 | 欧美一区二区三区视频 | 欧美高清dvd | 亚洲黄色国产 | 在线观看日韩精品视频 | 人人做人人澡人人爽欧美 |