[摘要]如果我们要保持输出有效画面范围是一个固定宽高比例,例如16:9,无法浏览器如何缩放均可以保持比例。
代码说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<!-- 通过onresize监听屏幕大小变化,执行保持比例动作 --> <events onresize="fixaspectresize(16,9);" /> <!-- 保持比例动作,输入两个参数,第一个是宽,第二个是高 --> <action name="fixaspectresize"> div(aspect,%1,%2); mul(destwidth, stagewidth, aspect); copy(destheight, stagewidth); if(destwidth GT stagewidth, div(dwnscale,stagewidth,destwidth), set(dwnscale,1.0) ); mul(destwidth, destwidth, dwnscale); mul(destheight, destheight, dwnscale); if(destheight GT stageheight, div(dwnscale,stageheight,destheight), set(dwnscale,1.0) ); mul(destwidth, destwidth, dwnscale); mul(destheight, destheight, dwnscale); sub(destx, stagewidth, destwidth); sub(desty, stageheight, destheight); mul(destx, destx, 0.5); mul(desty, desty, 0.5); copy(area.x, destx); copy(area.y, desty); copy(area.width, destwidth); copy(area.height, destheight); </action> |