renderer 对象
获取 renderer
调用 Application
的实例化对象 app 的 renderder
属性即可获取,如:
console.log(app.renderer);
//=> WebGLRenderer {_events: Events, _eventsCount: 2, type: 1, width: 320, height: 568…}
使用 renderer
获取 canvas 对象
可以通过 renderder.view
获取 <canvas>
对象,这样你就可以像操作 Dom 一样操作 canvas 了,如:
var viewer = app.renderer.view;
console.log(viewer)
//=> <canvas tabindex="99" id="TinyCanvas" style="outline: none; touch-action: none; width: 320px; height: 568px;" width="320" height="568"></canvas>
viewer.style.border = '1px solid red';
获取渲染类型
如果你在启动参数里没有指定渲染类型,但是你又想在 app 运行后获知渲染类型,这是你可以这样来做:
var isByWebGL = app.renderer instanceof Tiny.WebGLRenderer;
console.log(isByWebGL)
//=> true
其他操作
如果需要,你可以在 app 初始化之后变更 canvas 的背景色,只要设置 renderer
的 backgroundColor
属性为任意的16进制颜色值。
renderer.backgroundColor = 0x061639;
如果你想获取 renderer
的宽高,可以使用 renderer.width
或 renderer.height
。
不过,建议你直接通过 Tiny.WIN_SIZE
对象获取。
你也可以变更 canvas 的尺寸,使用 renderer.resize(100, 100);
即可,但是不建议你去变更。
如果你想让 canvas 充满整个屏幕可视区域,你可以设置 canvas 对象的样式,同时重设 renderer
的尺寸,如:
renderer.view.style.position = 'absolute';
renderer.view.style.display = 'block';
renderer.resize(window.innerWidth, window.innerHeight);
但是,不要忘记做 CSS reset:
html, body, p, div {margin:0;padding:0;}
当然,还是不建议你这样去用,非特殊情况建议在 Application
初始化的时候,通过配置参数去设置尺寸。