簡體   English   中英

dynamicJS createImageHitRegion用於精靈,而不是圖像

[英]kineticJS createImageHitRegion for sprites, not images

我正在使用KineticJS,並希望為我的精靈創建一個精確的圖像點擊區域(忽略透明像素)。 我看到了createImageHitRegion如何完成圖像處理 ,但是沒有看到如何將其應用於子畫面 換句話說,雖然createImageHitRegion方法是一種可以實現我想要的圖像功能的方法,但精靈似乎沒有類似的方法。 如果我可以僅在每個精靈的一張圖像上創建一個圖像匹配區域,但對我有用,但是包圍該精靈圖像的整個寬度和高度的大矩形區域將無法工作。 有任何解決方法的想法嗎? 也許我錯過了什么?

沒有簡單的方法可以對子畫面上的非透明像素進行命中測試。

我可以想到一些理論上的解決方法...

如果您可以畫出一個輪廓,勾勒出您想要擊中的像素。

Sprite對象允許自定義drawHitFunc因此您可以使用mySprite.afterFrame為每個Sprite圖片重新定義自定義點擊區域。

mySprite.afterFrame(0, function() {
    mySprite.setDrawHitFunc(function(){
        // draw the path you want used for frame#0 
    });
});

// repeat for all frames

如果您無法繪制概述要擊中像素的路徑。

不要使用精靈,而是使用單個圖像制作自己的精靈。

為此,可以創建一系列圖像(包括createImageHitRegion),並依次使其中一個圖像可見,從而使其看起來像在播放一張Spritesheet。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM