一种简单的开头动画(标题影像)实现方法
以下代码用在了我自己的游戏项目中,它实现了在游戏启动时,首先播放movies目录下指定影像(即开头动画)的功能,开头动画播放完毕后(或播放时按ESC键),进入标题画面。虽然代码写不是特别优雅,但是简单易懂,将代码中注释里提到的地方修改一下,就可以用了。
注:以下代码是我自己在实践中学习摸索出来的,未抄袭任何插件代码(检测按键的代码参考了网上的通用解决方案,一搜一大把);无论商用、非商用,大家免费拿去随便改随便用。
JAVASCRIPT 代码
var isTitleMoviePlayed = false;
var oldStartNormalGame = Scene_Boot.prototype.startNormalGame;
Scene_Boot.prototype.startNormalGame = function(){
Video.play('movies/2D_Cat.webm');// 这里的2D_Cat.webm即开头动画文件名,替换成你自己的开头动画文件名即可
setTimeout(() => {
if(!isTitleMoviePlayed){
isTitleMoviePlayed = true;
oldStartNormalGame.call(this);
}
}, 9000);// 这里的9000表示2D_Cat.webm文件的播放时长为9秒(或稍大于精确的播放时长),替换成你自己开头动画的时长即可
};
document.onkeydown = function(event){
if(isTitleMoviePlayed){
return;
}
var e = event || window.event;
if(e && e.keyCode == 27){
isTitleMoviePlayed = true;
let video = document.getElementById('gameVideo');
video.currentTime = 9;// 这里的9也表示2D_Cat.webm文件的播放时长为9秒(或稍大于精确的播放时长),依然替换成你自己开头动画的时长即可
// oldStartNormalGame
Scene_Boot.prototype.checkPlayerLocation();
DataManager.setupNewGame();
SceneManager.goto(Scene_Title);
Window_TitleCommand.initCommandPosition();
}
}
本帖来自P1论坛作者tuxyin,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=486353若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]