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

Project1

 找回密码
 注册会员
搜索
查看: 305|回复: 12

[原创发布] 寻找能写出这个插件的大佬 寻找跟写出第一个视频对话框...

[复制链接]
头像被屏蔽

Lv-∞.过期咸鱼 (禁止发言)

梦石
0
星屑
-9520
在线时间
45 小时
注册时间
2015-4-2
帖子
42
发表于 2020-2-14 21:26:38 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv3.寻梦者

梦石
0
星屑
1141
在线时间
157 小时
注册时间
2018-12-16
帖子
309
发表于 2020-2-14 23:22:38 | 显示全部楼层
印象中 ... 視頻默認是最上層... 如果有任何圖片或文字 都會被視頻蓋掉
這個問題我也很煩惱...

之前用 MoviePicture.js 把視頻當作圖片放 也想把歌詞放在視頻的上面 結果就是不行
如果有大老 可以把這個插件改成 可以加參數 改變載入的視頻在第幾層就好了...

而不要都做最上層...

点评

rpgmv 界不一定有这样的能人 大部分都是业余的  发表于 7 天前
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
209 小时
注册时间
2011-8-16
帖子
300
发表于 6 天前 | 显示全部楼层
虽然没有给你做一个在对话框里显示视频的demo,但是下面这两张图表现的效果也差不多。
下面这个画面截图后面是正在播放一段视频,而这段视频是播放在一个Sprite的Bitmap的Canvas上的。
这代表着这段视频也可以显示在对话框上面,也可以和对话框融为一体,显示在“脸图”所在位置(当然视频尺寸要有修改)



提供一点思路:
1、核心问题:如何把视频画到和Sprite同层
RPGMaker游戏画面中所有的元素都是由Sprite实现的。
如果你想让视频和游戏画面中的其他元素有层级关系,就必须得让视频显示在Sprite上。
Sprite包含了一个Bitmap对象,Bitmap包含了一个Canvas对象,我们可以把视频画到Canvas上面,这样就可以实现需求了。
(相关文档:使用 canvas 处理视频)
这样解决了视频可以在Sprite上播放的核心问题之后,再搞对话框播放视频就简单多了(略)。

2、小问题:播放视频时游戏画面暂停:黑屏(GameCanvas被隐藏)
需要注意的一点是,在下面这个 Graphics._updateVisibility 方法里,原有的代码设定是video播放时,整个游戏的canvas将隐藏。当video播放完毕,canvas才会恢复。所以会出现播放video的时候整个游戏画面黑屏了,如果想做到播放视频和游戏画面并行运行,则需要如下修改:保证canvas任何时候都是可见得。
  1. /**
  2. * @static
  3. * @method _updateVisibility
  4. * @param {Boolean} videoVisible
  5. * @private
  6. */
  7. Graphics._updateVisibility = function(videoVisible) {
  8.     // this._video.style.opacity = videoVisible ? 1 : 0;
  9.     // this._canvas.style.opacity = videoVisible ? 0 : 1;

  10.     this._video.style.opacity = videoVisible ? 1 : 0;
  11.     this._canvas.style.opacity = 1;
  12. };
复制代码

顺便提一句,我对pixi.js的render操作流程完全没有了解,所以在操作canvas逐帧绘制video的时候遇到了无论如何操作canvas都不显示的问题。
盲测是撞到了pixi的优化机制怀里,但是又懒得去找,直接在drawImage后面跟了一个clearRect(width, height, 1, 1)来触发Canvas的刷新,所以如果你在搞这块需要注意一下相关问题。

3、小问题:播放视频时游戏画面暂停:事件解释器被挂起
还有一点就是原版机制,在播放视频的时候Game_Interpreter事件解释器会被挂起,事件将中止运行(setWaitMode)。
  1. // Play Movie
  2. Game_Interpreter.prototype.command261 = function() {
  3.     if (!$gameMessage.isBusy()) {
  4.         var name = this._params[0];
  5.         if (name.length > 0) {
  6.             var ext = this.videoFileExt();
  7.             console.log('movies/' + name + ext)
  8.             Graphics.playVideo('movies/' + name + ext);
  9.             this.setWaitMode('video');
  10.         }
  11.         this._index++;
  12.     }
  13.     return false;
  14. };
复制代码
如果你希望Game_Interpreter在播放视频的时候正常工作,推荐使用脚本来播放视频:
  1. Graphics.playVideo('movies/视频文件名.后缀’);
复制代码
虽然你绕过了 setWaitMode,事件解释器不会再被挂起,你可以在播放视频的时候自由使用事件,但是这也代表你的事件将不会再等待你的视频播放完毕(需要注意)
  1. this.setWaitMode('video');
复制代码

4、解决了以上问题,基本上可以实现楼主的需求了。

RPGMaker 脚本/学习交流群 :143356012


RPGMaker 脚本/学习交流群:143356012
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5570
在线时间
509 小时
注册时间
2011-7-16
帖子
809

开拓者

发表于 6 天前 | 显示全部楼层
楼上太牛了,这个问题得到了解决真是太棒了
RMMV网络插件,开源免费,内含服务器端,无需强制登录,云数据,弹幕,云存档,排名,兑换码,版本检测,可自由上架下架删除。q群399090587
App《MV游戏厅》现诚邀独立作者和玩家上架游戏,完全免费,自主可控
开源游戏:重装机兵之重装归来【RMMV制作】全球首款按照美剧分季分集的方式发布的游戏
体素画 -- MV画3D像素图的画板
RMMV显示3D模型和场景的插件
RMMV显示spine骨骼动画的插件
RMMV秘密通道插件
突破敌群数量上限8个的插件
在rmmv中显示gif动态图片的插件
一款可以在mv游戏界面的任意位置显示任意文字的插件
RMMV Toast 插件 带物品得失提示,可以设置开启关闭 兼容yep itemcore
制作一个改名卡道具插件、调整标题页面菜单的插件、在标题页面之前显示大段文字的插件、标题页面显示版本号的插件
物品得失自动提示自动上色自动换行插件
我的Q群 663889472
另外,我的插件、范例、游戏都在这里
回复

使用道具 举报

头像被屏蔽

Lv-∞.过期咸鱼 (禁止发言)

梦石
0
星屑
-9520
在线时间
45 小时
注册时间
2015-4-2
帖子
42
 楼主| 发表于 6 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
13
在线时间
32 小时
注册时间
2017-11-24
帖子
62
发表于 6 天前 | 显示全部楼层
6666666666666666666
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
67
在线时间
10 小时
注册时间
2020-2-12
帖子
6
发表于 6 天前 | 显示全部楼层
方法是有了,楼主可以试着自己写一下,感谢大佬授人以渔。
回复

使用道具 举报

头像被屏蔽

Lv-∞.过期咸鱼 (禁止发言)

梦石
0
星屑
-9520
在线时间
45 小时
注册时间
2015-4-2
帖子
42
 楼主| 发表于 6 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽

Lv-∞.过期咸鱼 (禁止发言)

梦石
0
星屑
-9520
在线时间
45 小时
注册时间
2015-4-2
帖子
42
 楼主| 发表于 6 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽

Lv-∞.过期咸鱼 (禁止发言)

梦石
0
星屑
-9520
在线时间
45 小时
注册时间
2015-4-2
帖子
42
 楼主| 发表于 6 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-2-22 03:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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