cocos2d-x 3.4版本,videoPlayer和webView上添加sprite等cocos控件
本帖源于小弟自己在项目过程中为了解决在cocos2d-x中实现ios里videoPlayer自定义控件的需求,所以挖出来大神的一个帖子
http://www.cocoachina.com/bbs/read.php?tid=235430&page=e&#a
不过大神帖子是针对cocos2d-x 3.2的,cocos进化到3.4之后似乎不是很一样了,小弟入行太浅,也不是很懂,所以就自己根据大神的帖子搞了搞,思路和大神是一样滴:
由于目测videoplayer控件是ios原生的uiview控件,跟cocos的绘图方式不是一个级别,所以videoplayer在添加的时候根本就没有添加到cocos的图层里,而是在图层上面新加了一个uiview控件;
解决方法呢,在appController.mm文件里先把_viewController设置成透明:
|
1
|
_viewController.view.backgroundColor = [UIColor clearColor]; |
然后创建一个新的uiviewcontroller来放置videoplayer的视图和cocos自己的图层,先添加video层,后加cocos层,以便cocos层把video层盖住:
appController.h里:
|
1
|
@property(nonatomic, readonly) UIView* videoView; |
appController.mm里:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
_viewController.view.tag = 3; UIViewController* uiVC = [[UIViewController alloc] initWithNibName:nil bundle:nil]; uiVC.view.frame = [UIScreen mainScreen].bounds; _videoView = [[UIView alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; _videoView.tag = 1; //设置tag以便之后把Video层取出来~ [uiVC.view addSubview:_videoView]; [uiVC.view addSubview:_viewController.view];// Set RootViewController to window if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0) { // warning: addSubView doesn't work on iOS6 [window addSubview: uiVC.view]; } else { // use this method on ios6 [window setRootViewController:uiVC]; } |
接下来就可以打开UIVideoPlayer-ios.mm文件了,找到文件中
|
1
|
[eaglview addSubview:self.moviePlayer.view]; |
这一句,改成
|
1
|
[[eaglview.superview viewWithTag:1] addSubview:self.moviePlayer.view]; //在eaglview的父视图里找到tag=1的子视图,也就是实现设置好的Video视图。 |
就可以了~
cocos2d-x 3.4版本,videoPlayer和webView上添加sprite等cocos控件的更多相关文章
- 【HarmonyOS】【Demo】【JAVA UI】 鸿蒙怎么在Webview上添加组件
在大家HarmonyOS开发中,Webview组件上添加组件可能是很常见的功能了,HarmonyOS的webview和Android的webwiew存在一点点区别,今天来实现这个功能 使用项目布局显示 ...
- UWP开发之控件:用WebView做聊天框
目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ...
- 通过webview控件访问网页
初学android开发,在界面编辑器上放了一个webview控件,可惜不知道如何访问控件,在网上看到一段代码记录下来,算是第一次学习笔记. 要想让程序联网需要授权,在AndroidManifest.x ...
- PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购
PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...
- DevExpress控件与VS和.NET各个版本的支持情况
如下图所示,绿色Yes代表支持,红色No代表不支持.对于有些人觉得装了dev后,vs工具箱没有,一般都是以下两大问题: 1.要么你的Dev的版本不支持你当前的VS版本,没有很正常. 2.要么你的项目的 ...
- xcode7中使用cocos2d-x3.8的webview控件
在XCode7中使用cocos2d-x 3.3以上版本的WebView控件时,碰到了编译错误 App Transport Security has blocked a cleartext HTTP ( ...
- WebView 上传文件 WebChromeClient之openFileChooser函数
原链接:http://blog.saymagic.cn/2015/11/08/webview-upload.html?utm_source=tuicool&utm_medium=referra ...
- 【WP开发】WebView控件应用要点
WebView控件我就不多作详细的介绍,相信大家都懂的,就算你没用过,你看他的名字和长相都知道它的用途了.就是用来显示HTML内容的. 在WP 8.1的Runtime App中,这个控件大致有以下几个 ...
- WebView上实现Java与JavaScript交互
在安卓开发上,考虑到开发效率和界面更新,有时使用WebView结合web页面技术,可以快速迭代地开发移动应用.WebView加载资源的速度并不慢,但是如果资源多了,就很慢.图片.css.js.html ...
随机推荐
- 5. window.location.href/replace/reload()--页面跳转+替换+刷新
1.window.location=url; window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面. 一.最外层top跳转页面,适合用于iframe框架集 ...
- mysql打开log-bin报错
在mysqld下设置log-bin后重启出现错误, [ERROR] You have enabled the binary log, but you haven't provided the mand ...
- 【336】Tutorial of Endnote
Now I start to use Endnote to manage my literatures and I need to learn how to use it. Below is some ...
- JS 实现Json查询的方法实例
其实很简单,我这部分代码,前一部分是简单的实现如何使用JS写模板,第二个就是具体的实现了JSON查询的一个扩展. 以后查询Json就有了利器了. 代码如下: /* * 定义模板函数 ...
- java多线程实例(2)
public class ThreadDemo05 { public static void main(String args[]) { // 四个售票点应该控制同一个资源 Demo d = new ...
- 《你不知道的JavaScript下卷》知识点笔记
1. [1, 2, 3] == [1, 2, 3] 返回false [1, 2, 3] == “1, 2, 3” 返回true 2. 如果 < 比较的两个值都是字符串, 就像在b < c中 ...
- ORACLE用户永不被锁
alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED;
- sqlserver批量导出存储过程、函数、视图
select text from syscomments s1 join sysobjects s2 on s1.id=s2.id where xtype = 'V' xtype V 视图 P ...
- ASP.NET中的URL编码解码(转)
在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗?测试: string file="文件上(传)篇.doc";string Server_UrlEncode=Server ...
- C++强制转换
static_cast,dynamic_cast, const_cast, reinterpret_cast dynamic_cast比static_cast多了安全检测,判断源和目标有无继承被继承关 ...