cocos2d-x JS 純代碼實現人物頭像裁剪


有時候為了方便會直接用顏色層和過渡層來顯示一些信息,但層只有方角沒有圓角不太美觀,於是我用剪切節點實現了一個圓角層.方便以后使用.
 
當然,如果使用Cosos Studio 操作會更好一些,省去了坐標裁剪計算等問題,可以一步到位

 1         //圖層定位,以屏幕中心偏移
 2         var offsetX = 0;
 3         var offsetY = 0;
 4         //圖層大小
 5         var clipWidth = 600;
 6         var clipHeight =400;
 7         //圓角半徑
 8         var radius =25;
 9         //圓角層實現代碼
10         var size = cc.winSize;
11         var stencil = new cc.DrawNode();
12         stencil.drawRect(cc.p((size.width-clipWidth)/2+offsetX,(size.height-clipHeight)/2+offsetY+radius),cc.p(size.width/2+clipWidth/2+offsetX,size.height/2+clipHeight/2+offsetY-radius),cc.color(0,0,0),1,cc.color(0,0,0));
13         stencil.drawRect(cc.p((size.width-clipWidth)/2+offsetX+radius,(size.height-clipHeight)/2+offsetY),cc.p(size.width/2+clipWidth/2+offsetX-radius,size.height/2+clipHeight/2+offsetY),cc.color(0,0,0),1,cc.color(0,0,0));
14         stencil.drawCircle(cc.p(size.width/2-clipWidth/2+offsetX+radius,size.height/2-clipHeight/2+offsetY+radius),radius/3,0,100,false,radius,cc.color(0,0,0));
15         stencil.drawCircle(cc.p(size.width/2+clipWidth/2+offsetX-radius,size.height/2-clipHeight/2+offsetY+radius),radius/3,0,100,false,radius,cc.color(0,0,0));
16         stencil.drawCircle(cc.p(size.width/2+clipWidth/2+offsetX-radius,size.height/2+clipHeight/2+offsetY-radius),radius/3,0,100,false,radius,cc.color(0,0,0));
17         stencil.drawCircle(cc.p(size.width/2-clipWidth/2+offsetX+radius,size.height/2+clipHeight/2+offsetY-radius),radius/3,0,100,false,radius,cc.color(0,0,0));
18         var clippingPanel = new cc.ClippingNode();
19         clippingPanel.stencil = stencil;
20         //層顏色
21         var layer = new cc.LayerColor(cc.color(255,0,0),clipWidth,clipHeight);
22         layer.x = (size.width-clipWidth)/2+offsetX;
23         layer.y = (size.height-clipHeight)/2+offsetY;
24         //層透明度
25         layer.opacity = 200;
26         clippingPanel.addChild(layer);
27         this.addChild(clippingPanel);

 



這段代碼可以直接拷貝,放入剛創建的游戲app.js中以演示.

描述:界面示例
圖片:layer.png 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM