簡體   English   中英

libgdx-設置精靈顏色

[英]Libgdx - setting Sprite color

是否可以將.setColor(x,x,x,1)設置為如下所示的圓形邊界:

在此處輸入圖片說明

否則我必須使用2個精靈,並且已經引用了500個精靈。 不想使用1000。

只需簡單地使用兩種不同的紋理,一種帶有實心圓,另一種只有筆觸。 使用libGDX Sprite類中的setTexture方法設置需要描邊或填充圓的任何精靈的紋理。

這仍然是有效的,因為紋理僅需要加載一次,並且通過設置sprite的紋理,它僅將指針保存在內存中,而不是整個紋理。

要使用自定義着色器一次完成此操作,請以某種方式對源精靈進行編碼。 像這樣:

在此處輸入圖片說明

現在,您可以使用R通道作為插值因子在白色和邊框顏色之間進行混合。 您可以從SpriteBatch源代碼復制頂點着色器,然后將片段着色器主函數修改為如下所示:

vec4 texColor = texture2D(u_texture, v_texCoords);
gl_FragColor = vec4(mix(vec3(1.0), v_color.rgb, texColor.rrr), v_color.a * texColor.a);

我會遵循上面的TextureRegion想法,當您完成游戲時,如果然后遇到性能問題,那么我才真正擔心這一點,但是有點擔心着色器。

大多數人從來沒有完成過游戲,因為他們在真正需要之前就陷入了細節問題。

暫無
暫無

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

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