找回密码
 点一下
查看: 1776|回复: 10

call PlayCinematic()竟然可以播放avi,rmvb格式的视频

[复制链接]
发表于 2009-10-21 10:11:32 | 显示全部楼层 |阅读模式
call PlayCinematic()竟然可以播放avi,rmvb格式的视频
http://bbs.islga.org/read-htm-tid-2704-fpage-15.html
挖出来的东西
谁去研究下这个玩意能不能掉线……
如果连机各方有人没有解码会怎样
不过大约也没什么意义
毕竟一个视频压到8m以下也不用看了

可以实现AVI播放,无法实现RMVB。
电影是从外部读取,API函数是:

native PlayCinematic takes string movieName returns nothing

将所要播放电影放到movie目录下,貌似这个目录吧,不记得了,把AVI电影文件后缀改为mpq,例如sy.avi那么改为sy.mpq。

调用办法很简单,只用调用文件名:

call PlayCinematic("sy")

PS:注意只能在游戏结尾播放喔。。。。呃,不然后果自负。
[jass]
具体用法参照blizzard.j里面的:
function SetCinematicAvailableBJ takes boolean available, integer cinematicIndex returns nothing
if ( cinematicIndex == bj_CINEMATICINDEX_TOP ) then
call SetOpCinematicAvailable( bj_CAMPAIGN_INDEX_T, available )
call PlayCinematic( "TutorialOp" )
elseif (cinematicIndex == bj_CINEMATICINDEX_HOP) then
call SetOpCinematicAvailable( bj_CAMPAIGN_INDEX_H, available )
call PlayCinematic( "HumanOp" )
elseif (cinematicIndex == bj_CINEMATICINDEX_HED) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_H, available )
call PlayCinematic( "HumanEd" )
elseif (cinematicIndex == bj_CINEMATICINDEX_OOP) then
call SetOpCinematicAvailable( bj_CAMPAIGN_INDEX_O, available )
call PlayCinematic( "OrcOp" )
elseif (cinematicIndex == bj_CINEMATICINDEX_OED) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_O, available )
call PlayCinematic( "OrcEd" )
elseif (cinematicIndex == bj_CINEMATICINDEX_UOP) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_U, available )
call PlayCinematic( "UndeadOp" )
elseif (cinematicIndex == bj_CINEMATICINDEX_UED) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_U, available )
call PlayCinematic( "UndeadEd" )
elseif (cinematicIndex == bj_CINEMATICINDEX_NOP) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_N, available )
call PlayCinematic( "NightElfOp" )
elseif (cinematicIndex == bj_CINEMATICINDEX_NED) then
call SetEdCinematicAvailable( bj_CAMPAIGN_INDEX_N, available )
call PlayCinematic( "NightElfEd" )
elseif (cinematicIndex == bj_CINEMATICINDEX_XOP) then
call SetOpCinematicAvailable( bj_CAMPAIGN_OFFSET_XN, available )
call PlayCinematic( "IntroX" )
elseif (cinematicIndex == bj_CINEMATICINDEX_XED) then
call SetEdCinematicAvailable( bj_CAMPAIGN_OFFSET_XU, available )
call PlayCinematic( "OutroX" )
else
// Unrecognized cinematic - ignore the request.
endif
endfunction
[/jass]
发表于 2009-10-21 10:13:59 | 显示全部楼层
“小”电影儿
回复

使用道具 举报

发表于 2009-10-21 10:16:33 | 显示全部楼层
这个,刚刚发现
这样是不是可以利用rm文件打开网页的特点传播病毒了
回复

使用道具 举报

发表于 2009-10-21 10:17:26 | 显示全部楼层
难道Jass机自带有解码设备……
回复

使用道具 举报

 楼主| 发表于 2009-10-21 10:17:44 | 显示全部楼层
鬼知道……
回复

使用道具 举报

发表于 2009-10-21 10:20:42 | 显示全部楼层
看看播放是弹出一个窗口还是怎样的,测试下
回复

使用道具 举报

发表于 2009-10-21 11:36:26 | 显示全部楼层
只用于单机
回复

使用道具 举报

发表于 2009-10-21 11:42:45 | 显示全部楼层
单机的话。这样就可以不怕限制做很美的RPG了。
回复

使用道具 举报

发表于 2009-10-21 11:46:30 | 显示全部楼层
不过还是最好奇。是如果播放的。
回复

使用道具 举报

发表于 2009-10-21 11:47:54 | 显示全部楼层
原来机器要有解码器。
悲剧亚。自裁。
回复

使用道具 举报

发表于 2009-10-25 15:21:38 | 显示全部楼层
如果不播放地图中的,而是播放一个URL网址的视频.. 就无敌了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-3 01:20 , Processed in 0.101400 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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