整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ
PixiJS V5 教學 (27) - 裁切圖片
前言
接下來我們將會來了解如何透過 JSON 加載圖片,但是在那之前我們先來學一下如何裁切圖片。
JSON
JSON 是什麼東西應該是不用太多廢話介紹了,如果真的不知道 JSON 是什麼可以試著看一下我先前參加鐵人賽所撰寫的文章 EP.14 RE:從零開始的學習 JS 生活-第十四日
Sprite img
就如 LearningPixi 所提
Pixi封装了一些方便的方式来处理这种情况。所谓雪碧图就是用一个单文件包含你游戏中需要的所有文件,这里就是一个包含了游戏对象和游戏角色的雪碧图。
此外在你實際開發時你也會很常看到這種做法。
通常來講你是必須使用一些軟體才能夠產生 Sprite JSON,但是由於這並不是這一次文章的重點,所以就會直接使用 LearningPixi 底下的 animals.json,在一開始我們是直接引入這個 Sprite img
1 | |
圖片加載進來後我們就可以使用 PIXI 內建的方法 new Rectangle(); 來獲取我們想要的圖片,假使來講文件是獲取火箭,那麼我們就直接填入相關的位置
1 | |
這邊額外補充一下 new PIXI.Rectangle(); 相關參數
1 | |
會發現使用這個方式是一件非常棒的事情,透過這種方式你可以在一張圖片加載所有素材,只需要知道 x、y、以及長寬就可以做到這件事情。
當然我們也可以調整獲取其他的素材也是可以的,但是如果你這樣寫
1 | |
你會發現火箭被後來的設定給蓋掉了

這個原因是因為 Sprite 被覆蓋了,所以正確的寫法是這樣
1 | |
這個問題發生點在於我們沒有複製 Texture 導致,所以我們必須複製 Texture,然後針對其修正才能夠解決這個問題,剛好 PIXI 論壇也有人提出相關問題。
參考文獻
整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ