设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3500|回复: 1
打印 上一主题 下一主题

[已经解决] MV中的截屏和模糊指令是什么?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
帖子
774
跳转到指定楼层
1
发表于 2016-2-2 23:43:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 gaofei677 于 2016-2-2 23:50 编辑

我知道在VA中,截屏和模糊指令是
JAVASCRIPT 代码复制
  1. Graphics.snap_to_bitmap

JAVASCRIPT 代码复制
  1. .bitmap.blur


但是在MV中是什么呢?我在
http://miaowm5.github.io/RMMV-F1/(F1帮助文档)
http://www.goodboydigital.com/pixijs/docs/classes/ImageLoader.html(PIXI.JS帮助文档)
里面都没有找到,修大侠指导~谢谢~

漏夏同人
《咱的夏天》
下载地址:http://tieba.baidu.com/p/2681607456
人员招募:http://rpg.blue/thread-339747-1-1.html

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2016-2-3 07:17:33 | 只看该作者
  1. //拍摄
  2. SceneManager.snap = function() {
  3.     return Bitmap.snap(this._scene);
  4. };
  5. //拍摄 为了背景
  6. SceneManager.snapForBackground = function() {
  7.         //背景图片 设置为 拍摄
  8.     this._backgroundBitmap = this.snap();
  9.     //背景图片 模糊
  10.     this._backgroundBitmap.blur();
  11. };
  12. //背景图片
  13. SceneManager.backgroundBitmap = function() {
  14.     return this._backgroundBitmap;
  15. };
复制代码

  1. Bitmap.snap = function(stage) {
  2.     var width = Graphics.width;
  3.     var height = Graphics.height;
  4.     var bitmap = new Bitmap(width, height);
  5.     var context = bitmap._context;
  6.     var renderTexture = new PIXI.RenderTexture(width, height);
  7.     if (stage) {
  8.         renderTexture.render(stage);
  9.         stage.worldTransform.identity();
  10.     }
  11.     if (Graphics.isWebGL()) {
  12.         var gl =  renderTexture.renderer.gl;
  13.         var webGLPixels = new Uint8Array(4 * width * height);
  14.         gl.bindFramebuffer(gl.FRAMEBUFFER, renderTexture.textureBuffer.frameBuffer);
  15.         gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels);
  16.         gl.bindFramebuffer(gl.FRAMEBUFFER, null);
  17.         var canvasData = context.getImageData(0, 0, width, height);
  18.         canvasData.data.set(webGLPixels);
  19.         context.putImageData(canvasData, 0, 0);
  20.     } else {
  21.         context.drawImage(renderTexture.textureBuffer.canvas, 0, 0);
  22.     }
  23.     bitmap._setDirty();
  24.     return bitmap;
  25. };
复制代码

  1. Bitmap.prototype.blur = function() {
  2.     for (var i = 0; i < 2; i++) {
  3.         var w = this.width;
  4.         var h = this.height;
  5.         var canvas = this._canvas;
  6.         var context = this._context;
  7.         var tempCanvas = document.createElement('canvas');
  8.         var tempContext = tempCanvas.getContext('2d');
  9.         tempCanvas.width = w + 2;
  10.         tempCanvas.height = h + 2;
  11.         tempContext.drawImage(canvas, 0, 0, w, h, 1, 1, w, h);
  12.         tempContext.drawImage(canvas, 0, 0, w, 1, 1, 0, w, 1);
  13.         tempContext.drawImage(canvas, 0, 0, 1, h, 0, 1, 1, h);
  14.         tempContext.drawImage(canvas, 0, h - 1, w, 1, 1, h + 1, w, 1);
  15.         tempContext.drawImage(canvas, w - 1, 0, 1, h, w + 1, 1, 1, h);
  16.         context.save();
  17.         context.fillStyle = 'black';
  18.         context.fillRect(0, 0, w, h);
  19.         context.globalCompositeOperation = 'lighter';
  20.         context.globalAlpha = 1 / 9;
  21.         for (var y = 0; y < 3; y++) {
  22.             for (var x = 0; x < 3; x++) {
  23.                 context.drawImage(tempCanvas, x, y, w, h, 0, 0, w, h);
  24.             }
  25.         }
  26.         context.restore();
  27.     }
  28.     this._setDirty();
  29. };
复制代码

点评

在事件中手动调用 截图+模糊当前画面 并保存于#{编号}图片中  发表于 2016-3-19 22:52
你要怎么使用?这里的是mv里使用菜单时的模糊图片的源代码  发表于 2016-3-19 11:40
不熟悉 mv,以上三段代码放在哪里?事件中如何调用显示模糊过的图片?  发表于 2016-3-19 11:19
SceneManager.snapForBackground; 昨天发现可以用这个。  发表于 2016-2-3 09:34
这里要说一下……系统的截图在一些情况下效果不好……比如菜单界面  发表于 2016-2-3 07:18
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-2 07:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表