博客
关于我
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/

你可能感兴趣的文章
PLSQL中INDEX BY TABLE的 DELETE操作
查看>>
plsql学习笔记---plsql相关概念,以及基础结构
查看>>
plsql数据库异常---plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致
查看>>
plsql查询乱码问题解决
查看>>
PLSQL的DBMS_GETLINE
查看>>
quartz简单demo,教你最快使用quartz
查看>>
PlutoSDR学习笔记(一)—函数API手册
查看>>
Quartz安装包中的15个example
查看>>
Quartz学习总结(2)——定时任务框架Quartz详解
查看>>
pm2 start命令中的json格式详解
查看>>
pm2启动报错
查看>>
pm2通过配置文件部署nodejs代码到服务器
查看>>
Unknown character set: 'utf8mb4'
查看>>
PML调用PDMS内核命令研究
查看>>
PMM安装-第一篇
查看>>
PMP知识要点(第九章)
查看>>
PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!
查看>>
POCO库中文编程参考指南(4)Poco::Net::IPAddress
查看>>
Quartz基本使用(二)
查看>>
POC项目安装与使用指南
查看>>