UNPKG

ycc.js

Version:

Mini and powerful canvas engine for creating App or Game.

131 lines (92 loc) 2.69 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name=viewport content="width=device-width,initial-scale=1,user-scalable=0,viewport-fit=cover"> <title>UI嵌套</title> <link rel="stylesheet" href="../style.css"> </head> <body> <div class="return-btn"> <a href="../"> 返回首页 </a> </div> <div class="tip"> <h3>示例说明:</h3> <div> 1、这个示例展示UI的嵌套能力。<br> 2、示例的所有UI都是红色方框的子UI,它们的坐标都是相对于方框的相对坐标。<br> 3、注意:红色方框并不会因为子UI的范围超出而改变大小。 </div> <br><br> </div> </body> </html> <script src="../common.js"></script> <script src="http://localhost:9000/livereload.js"></script> <script src="../../build/ycc.js"></script> <script> var ycc = new Ycc(); var canvas = ycc.createCanvas({width:300,height:800,dpiAdaptation:true}); document.body.appendChild(canvas); ycc.bindCanvas(canvas); // 新建图层 var layer = ycc.layerManager.newLayer({enableFrameEvent:true}); new Ycc.Loader().loadResParallel([ {name:"icon",url:"./logo.jpg"}, {name:"scale9Grid",url:"./bg.png"}, ],imageOnLoad); function imageOnLoad(arr,imgs){ var config = { rect:new Ycc.Math.Rect(10,10,200,100), fill:false, color:'red' }; var rect = new Ycc.UI.Rect(config); rect.addChild(new Ycc.UI.SingleLineText({ content:"11111" })); rect.addChild(new Ycc.UI.Line({ start:new Ycc.Math.Dot(20,20), end:new Ycc.Math.Dot(100,20) })); // 新建多行文本的UI rect.addChild(new Ycc.UI.MultiLineText({ content:"我是多行文本的UI 超出的文字会被忽略 测试文字 测试文字 测试文字 01234567 89012 34567\n1234567890123456789012345678901234\n12345678901234567890", rect:new Ycc.Math.Rect(20,40,150,50), rectBgColor:"green", wordBreak:"break-word", overflow:"hidden" })); rect.addChild(new Ycc.UI.BrokenLine({ pointList:[new Ycc.Math.Dot(20,110),new Ycc.Math.Dot(50,120),new Ycc.Math.Dot(200,110),] })); rect.addChild(new Ycc.UI.Circle({ point:{x:150,y:150}, r:20 })); rect.addChild(new Ycc.UI.Image({ res:imgs.icon, rect:new Ycc.Math.Rect(20,200,240,100), fillMode:"repeat", rectBgColor:"blue" })); rect.addChild(new Ycc.UI.Image({ res:imgs.scale9Grid, rect:new Ycc.Math.Rect(20,320,200,100), fillMode:"scale9Grid", scale9GridRect:new Ycc.Math.Rect(15,15,20,20) })); rect.addChild(new Ycc.UI.Ellipse({ point:{x:180,y:400}, r:20, width:100, height:50, angle:45, rectBgColor:"green" })); layer.addUI(rect); ycc.layerManager.reRenderAllLayerToStage(); } </script>