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 的背景色,只要设置 rendererbackgroundColor 属性为任意的16进制颜色值。

renderer.backgroundColor = 0x061639;

如果你想获取 renderer 的宽高,可以使用 renderer.widthrenderer.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 初始化的时候,通过配置参数去设置尺寸。