点击上方亿元程序员+关注和★星标
引言
大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。
近期,国产真人恋爱影视游戏**《完蛋!我被美女包围了》连续多日荣登Steam国区畅销榜首**。这款游戏力压了一众热门免费游戏,如《PUBG》、《CS2》和《Apex》,稳居国区畅销榜首。
想体验一下游戏,但是花钱是不可能花钱的,于是我用Cocos做了一个Demo实现真人互动影像游戏。
本文源码和源工程在文末获取,小伙伴们自行前往。仅供学习与交流,请勿用作其他用途。
1.准备素材
1.首先我们录制一下游戏中分蛋糕的名场面。
2.然后把游戏录屏拆分成几个小片段。
其中包括:
1.将蛋糕拿起来片段。
2.选择人物片段。
3.分别递给3个人物蛋糕的片段。
下面我们先看看实现原理
2.实现原理
1.组件
要想用Cocos实现真人互动影像游戏,我们可以利用Cocos的cc.VideoPlayer
组件。然后通过在上面添加点击事件去做一些逻辑响应。
2.遇到问题
无论我们怎么调整节点位置,发现cc.VideoPlayer
组件都是在界面的最上层,包括修改节点的zIndex
。这样没办法在视频上方添加UI或者一些局部点击事件。
3.解决办法
首先要勾选cc.VideoPlayer
组件中的StayOnBottom
,这个设置是保证cc.VideoPlayer
组件置于最底部。
然后Cocos2.X版本需要在Cocos安装目录中搜索boot.js
,找到resources\static\preview-templates
目录下的boot.js
文件。
打开boot.js
文件并且在cc.game.run
之前添加cc.macro.ENABLE_TRANSPARENT_CANVAS = true;
开启支持全透明。
Cocos3.X版本可以直接在项目设置
-MarcoConfigurations
中勾选ENABLE_TRANSPARENT_CANVAS
。
最后修改主摄像机Main Camera
中BackgroundColor
的透明度为0。
这样就可以实现在cc.VideoPlayer
组件之上添加UI或者局部点击事件了。
2.编写代码
创建一个VideoGame
组件继承cc.VideoPlayer
。同时创建一个cc.VideoClip[]
数据用于获取视频片段。
1.核心属性包括:
1.resourceType
:视频来源:REMOTE
表示远程视频 URL
,LOCAL
表示本地视频地址。
2.remoteURL
:远程视频的 URL
,resourceType
选择REMOTE
时生效。
3.clip
:本地视频剪辑,resourceType
选择LOCAL
时生效。
4.videoPlayerEvent
:视频播放回调函数,该回调函数会在特定情况被触发,比如播放中,暂时,停止和完成播放。
5.其他的一些属性大家可以自行查阅。
2.核心方法包括:
1.play()
:如果视频被暂停播放了,调用这个接口可以继续播放。如果视频被停止播放了,调用这个接口可以从头开始播放。
2.isPlaying()
:判断当前视频是否处于播放状态 。
3.stop()
:如果一个视频正在播放,调用这个接口可以立马停止播放。
4.其他的一些方法大家可以自行查阅。
3.编辑UI
1.创建节点
首先我们先创建个VideoGame
节点,然后添加一个子节点videoBtnNode
和它的三个子节点video1
、video2
、video3
。
其中VideoGame
节点用于添加cc.VideoPlayer
组件,三个子节点video1
、video2
、video3
用于点击选择人物。
2.添加组件
首先给VideoGame
节点添加编写好的VideoGame
组件。勾选StayOnBottom
,添加选择videoPlayerEvent
事件,添加VideoClips
视频片段。
给参与点击的三个子节点video1
、video2
、video3
添加BlockInputEvents
用于拦截事件,防止向下传递。
3.效果演示
点击开始播放拿蛋糕画面。
然后切换到人物选择画面。
给蛋糕郑梓妍。
给蛋糕肖鹿。
给蛋糕李云思。
结语
本文仅供娱乐参考学习,生活虽苦,但是也要时常整活。
在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。
我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。
AD:笔者线上的小游戏《贪吃蛇掌机经典》《填色之旅》《重力迷宫球》大家可以自行点击搜索体验。
实不相瞒,想要个赞和在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!
推荐专栏:
和8年游戏主程一起学习设计模式
8年主程手把手打造Cocos独立游戏开发框架
从零开始开发贪吃蛇小游戏到上线系列
游戏开发的技巧、心得、资讯
本文源码和源工程可通过阅读原文获取
点击下方绿色按钮+关注