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

PixiJS 學習:設置圖形的光標樣式

開發 前端
當 pixijs 要設置圖形的 cursor 值時,如果發現映射表中作為 key 有映射值,會改為使用映射值;否則直接使用圖形的 cursor 值。

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

最近又要開始學習 pixijs 了。

今天我們來學習如何給 pixijs 的圖形設置光標(cursor)。

pixijs 版本為 7.4.2

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

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);

渲染結果為:

設置光標

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

ellipse.eventMode = 'static';
// ellipse.interactive = true; // 這個廢棄了

然后設置 cursor 為 pointer。

ellipse.cursor = 'pointer';

看看效果:

原理是鼠標移動時會進行 hitTest,當橢圓的 hitTest 為 true 時,將 canvas 畫布元素的 style 的 cursor 屬性設置為橢圓對應的 cursor,即 "pointer"。

當鼠標移出橢圓時,canvas 的 cursor 值會恢復為默認的  "inherit"。

矩形因為沒設置為可交互,所以沒有任何反應。

設置自定義光標

一般來說,pixijs 只是會將 canvas 的 cursor 改為對應的字符串值,比如 "default"。

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

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';

語法同 CSS 的 cursor。

效果:

其實就是更新了一個映射表,當 pixijs 要設置圖形的 cursor 值時,如果發現映射表中作為 key 有映射值,會改為使用映射值;否則直接使用圖形的 cursor 值。

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

2023-02-22 09:27:31

CanvasWebGL

2023-02-23 08:40:09

Pixijs修改圖形屬性

2024-01-08 08:30:05

光標圖形編輯器開發游標

2010-08-09 15:19:29

Flex滾動條

2024-10-23 09:05:07

PixijsMatrixTransform

2023-07-07 13:56:01

圖形編輯器畫布縮放

2023-10-09 07:49:33

PixiJSWebGL

2010-08-03 09:27:29

設置Flex樣式

2010-08-03 09:54:20

Flex鼠標樣式設置

2010-09-13 13:44:35

CSS表格CSS表單

2023-10-13 07:29:23

PixiJSRunner

2023-02-28 07:28:50

Spritepixijs

2023-06-08 08:16:33

TickerPixiJS

2023-06-07 08:13:46

PixiJSCanvas 庫

2010-08-13 08:57:20

Flex主題

2020-06-30 20:55:17

PygalPython編程語言

2010-09-07 13:45:53

<div>標簽

2023-03-02 07:44:39

pixijsWebGL

2022-02-16 08:12:03

組件樣式元素

2010-09-10 09:57:27

DIV樣式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧洲一区二区 | 日日艹夜夜艹 | 国产精品视频一区二区三区四区国 | 久热m3u8| 久久人人爽人人爽 | 日韩午夜精品 | 精品一区二区三区电影 | 国产成人精品久久二区二区 | 久久99久久99精品免视看婷婷 | 亚洲精品一区二区三区在线观看 | www.久久精品 | av在线免费观看网址 | 日韩在线小视频 | 中文在线亚洲 | 日韩中文字幕 | 97国产精品视频人人做人人爱 | 在线观看特色大片免费网站 | 久久精彩| 欧美一级大片免费看 | 亚洲一区视频在线 | 亚洲精品久久久久久下一站 | 欧美一级久久 | 国产精品久久久久久吹潮 | 密色视频 | 亚洲视频在线观看一区二区三区 | 亚洲三区在线 | 欧美一级二级视频 | 国产亚洲成av人片在线观看桃 | 日韩欧美一区二区三区在线播放 | 国产精品国产亚洲精品看不卡15 | 国产成人综合久久 | 高清一区二区视频 | 精品久久九 | 欧美精品中文字幕久久二区 | 一级毛片免费视频 | 精品国产一区二区三区免费 | 久久只有精品 | 日韩成人精品一区二区三区 | 自拍偷拍中文字幕 | 精品免费国产一区二区三区四区介绍 | 国产成人免费视频网站高清观看视频 |