博客
关于我
creator摄像机的使用
阅读量:511 次
发布时间:2019-03-07

本文共 1728 字,大约阅读时间需要 5 分钟。

onToast() {    // 即使除了最底层摄像机外,其它摄像机不需要全都打勾,这样会防止上层摄像机将下层摄像机的画面清除    // 1. 深度    // 深度用于决定摄像机渲染的顺序,值越大渲染越晚    // 最后一个渲染的摄像机才会显示最终的场景    // 2. 分组    // 主摄像机不包含被截图的分组,摄像机会更高效地获取被截图的节点    // 被截图的节点默认应修改为特定分组    // 3. 摄像机跟随    // 摄像机应跟随采图节点,否则可能无法正确获取所需图像    // 即使不跟随,也可以利用深度配置,让底层摄像机捕捉所需区域上层摄像机清除画面    const cameras = cc.Camera.cameras;    cc.log("cc.Camera.cameras =", cameras);    // 示例说明    // node = new cc.Node();    // node.parent = cc.director.getScene();    // camera = node.addComponent(cc.Camera);    const smile = cc.find("smile", this.node);    let camera = cc.Camera.findCamera(smile);    cc.log("Found camera =", camera);    // 仅供参考,具体实现可根据需求调整    camera.x = smile.x;    camera.y = smile.y;    // 示例配置    const texture = new cc.RenderTexture();    const gl = cc.game._renderContext;    const width = smile.width * 5;    const height = smile.height * 5;    texture.initWithSize(cc.visibleRect.width, cc.visibleRect.height, gl.STENCIL_INDEX8);    camera.targetTexture = texture;    camera.render();    const data = texture.readPixels();    const canvas = document.createElement('canvas');    const ctx = canvas.getContext('2d');    canvas.width = texture.width;    canvas.height = texture.height;    const rowBytes = canvas.width * 4;    for (let row = 0; row < height; row++) {        const srow = height - 1 - row;        const imageData = ctx.createImageData(canvas.width, 1);        const start = srow * rowBytes;        for (let i = 0; i < rowBytes; i++) {            imageData.data[i] = data[start + i];        }        ctx.putImageData(imageData, 0, row);    }    const dataUrl = canvas.toDataURL('image/jpeg');    const img = document.createElement('img');    img.src = dataUrl;    cc.log("dataUrl =", dataUrl);}

转载地址:http://easjz.baihongyu.com/

你可能感兴趣的文章
PHP函数判断移动端和PC端
查看>>
Springboot基础入门
查看>>
php函数性能优化中应注意哪些问题?
查看>>
PHP函数操作数字和汉字互转(100以内)
查看>>
PHP函数方法
查看>>
PHP创建目录mkdir无写入权限的问题解决方案
查看>>
PHP删除指定目录下的所有文件和文件夹 | 删除指定文件
查看>>
php删除文件夹下面所有文件包括(删除文件夹)不删除文件夹
查看>>
React Collapse Pane 项目教程
查看>>
php判断ip黑名单程序代码
查看>>
php判断复选框是否被选中的方法
查看>>
PHP判断指定目录下是否存在文件
查看>>
php判断数组是否为空
查看>>
PHP判断数组是否有重复值、获取重复值
查看>>
springboot基于Web的社区留守儿童管理系统源码毕设+论文
查看>>
Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】
查看>>
PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
查看>>
PHP加密与安全的最佳实践
查看>>
PHP加速器eaccelerator导致php-fpm进程卡死原因分析
查看>>
PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
查看>>