社区
HTML5
帖子详情
Cocos2d-html5 全屏游戏,掉帧很厉害!
halwith
2014-05-23 05:09:47
最近在学习Cocos2d-html5 写了个小Demo ,2个背景图,15个元素,用的是Chrome浏览器,就实现了图片循环滚动的一个特效,小窗口的时候帧稳定在60,将Demo 全屏后 就只有 30几了,不知道各路大神有没有遇到过这个问题,求解答!
...全文
923
5
打赏
收藏
Cocos2d-html5 全屏游戏,掉帧很厉害!
最近在学习Cocos2d-html5 写了个小Demo ,2个背景图,15个元素,用的是Chrome浏览器,就实现了图片循环滚动的一个特效,小窗口的时候帧稳定在60,将Demo 全屏后 就只有 30几了,不知道各路大神有没有遇到过这个问题,求解答!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
halwith
2014-05-30
打赏
举报
回复
使用什么办法来解决呢,http://www.open-open.com/lib/view/open1355400055039.html 这个游戏,还算流畅吧。可惜不知道他们如何处理的
KK3K2005
2014-05-30
打赏
举报
回复
纯cpu渲染全屏 在看看我们现在屏幕的分辨率 这个速度你懂得
halwith
2014-05-30
打赏
举报
回复
cocos2d-html5 网上的资料不算多吧,因为是图片循环,被遮住的元素都是移除掉的,因为,图片循环是随机的!
lamianbu
2014-05-26
打赏
举报
回复
这款引擎成熟吗?cocos2d挺好的。Cocos2d-html5 好像还在beta版
lixing97
2014-05-26
打赏
举报
回复
全屏的渲染面积比较大,帧率低是正常的。你可以在程序逻辑中隐藏已经被遮住的元素,需要显示的时候再设为可见,会对帧率有帮助。
cocos
2d
-x实现
全屏
參考了一下NeHe 的教程, 在
cocos
2d
-x 2.0 上可以做點小手腳在 Windows 上
全屏
顯示! 參考了一下NeHe 的教程, 在
cocos
2d
-x 2.0 上可以做點小手腳在 Windows 上
全屏
顯示! 主要修改兩個檔案: CCEGLView.h CCEGLView.cpp 它們在工程里的位置是 lib
cocos
2d
->platform->win32 先打開 CCEGLView.h 在 public: 底下加上一個新功能: void setFullScreen(bool flag); 另外在 private: 里加上一個新變數: bool m_bFullScreen; 接下來是 CCEGLView.cpp: 在 Constructor 加上 m_bFullScreen 的初始值: CCEGLView::CCEGLView() : m_bCaptured(false) , m_hWnd(NULL) , m_hDC(NULL) , m_hRC(NULL) , m_lpfnAccelerometerKeyHook(NULL) , m_bFullScreen(false) 再加上我們的 setFullScreen(): void CCEGLView::setFullScreen(bool flag) { m_bFullScreen = flag; } 然後在 Create() 里, 把CreateWindowEx() 那段改成下邊這樣: /////////////// FULLSCREEN HACK - BEGIN DWORD dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style DWORD dwStyle = WS_CAPTION | WS_POPUPWINDOW | WS_MINIMIZEBOX; // Window Style if (m_bFullScreen) { DEVMODE dmScreenSettings; // Device Mode memset(&dmScreenSettings;,0,sizeof(dmScreenSettings)); // Makes Sure Memory's Cleared dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure dmScreenSettings.dmPelsWidth = w; // Selected Screen Width dmScreenSettings.dmPelsHeight = h; // Selected Screen Height dmScreenSettings.dmBitsPerPel = 32; // Selected Bits Per Pixel dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar. if (ChangeDisplaySettings(&dmScreenSettings;,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL) { // If The Mode Fails, Offer Two Options. Quit Or Use Windowed Mode. if (MessageBox(NULL, L"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?",L"
cocos
2d
-x",MB_YESNO|MB_ICONEXCLAMATION)==IDYES) { setFullScreen(false); // back to windowed mode } else { // Pop Up A Message Box Letting User Know The Program Is Closing. MessageBox(NULL,L"Program Will Now Close.",L"ERROR",MB_OK|MB_ICONSTOP); return FALSE; // Return FALSE } } else // yeah! we are in fullscreen { dwExStyle = WS_EX_APPWINDOW; dwStyle=WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; //ShowCursor(FALSE); RECT rect; rect.left=(long)0; // Set Left Value To 0 rect.right=(long)w; // Set Right Value To Requested Width rect.top=(long)0; // Set Top Value To 0 rect.bottom=(long)h; // Set Bottom Value To Requested Height AdjustWindowRectEx(▭, dwStyle, FALSE, dwExStyle); // Adjust To True Requested Size } } /////////////// FULLSCREEN HACK - END // create window m_hWnd = CreateWindowEx( dwExStyle, // Extended Style For The Window kWindowClassName, // Class Name wszBuf, // Window Title dwStyle, // Defined Window Style 0, 0, // Window Position 0, // Window Width 0, // Window Height NULL, // No Parent Window NULL, // No Menu hInstance, // Instance NULL ); CC_BREAK_IF(! m_hWnd); 基本上這樣已搞定. 最後在我們自己項目的 main.cpp 里選擇
全屏
即可: AppDelegate app; CCEGLView& eglView = CCEGLView::sharedOpenGLView(); eglView.setFullScreen(true); eglView.setViewName("Hello Tests"); eglView.setFrameSize(1920, 1080); 要注意事項: - eglView.setFullScreen(true) 一定要在 eglView.setViewName("xxx") 前面. - eglView.setFrameSize(1920, 1080) 設定的大小, 一定要是顯卡可以支持的. - 不能再用CCDirector::sharedDirector()->enableRetinaDisplay(true)
cocos
2d
-
html5
官方教程3代码重写
官方教程3的原全英文版,文档内容从官方网站复制过来,因为官网服务器在国外,国内偶尔会访问不到,有这么一份文档备在电脑上就能解决这个烦恼! 这份文档是根据官方教程3编写的代码文档,细节请配合官方教程3阅读理解。
cocos
2d
-x模态对话框的实现 vs2008实现 带工程
cocos
2d
-x模态对话框的实现 vs2008实现 带工程
反转贪吃蛇
Cocos
2d
-x+lua贪食蛇
游戏
源码
使用
cocos
2d
-x lua和code ide编写的贪吃蛇小
游戏
反转贪食蛇一改传统贪食蛇的玩法,
游戏
大屏幕一分为二。半屏采用传统贪食蛇玩法,半屏加入反转元素,触屏即向相反方向转头! 除此之外,还新增多种规则,等着你来体验。 ###
游戏
特性: 1.
全屏
畅通体验,一改传统贪食蛇边框,不设置限制,可以左右上下穿透; 2. 分屏反转体验,屏幕一分为二,正反切换,准备好你的手指头迎战吧! 3. 优化用户体验,装到障碍物扣除爱心后,触屏选择再次行走方向,避免不必要的生命损失! 4. 全新场景体验,体验版有3大仿真场景任你选择,多款地图随机产生,不再是卡通背景,满足你的视觉享受。 5. 新建规则,吃食物之外还会吃自己! 旧
游戏
,新玩法,新视觉,新体验,等着你来一起贪食蛇吧! ###初始化 将
cocos
2d
-x 3.1.1 创建的lua项目中,frameworks/
cocos
2d
-x复制到framesworks publish目录下有Android的apk安装包
Cocos
2D
-X开发学习笔记-渲染框架之布景层类的使用示例
Cocos
2D
-X开发学习笔记-渲染框架之布景层类的使用示例 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9397075
HTML5
39,118
社区成员
5,567
社区内容
发帖
与我相关
我的任务
HTML5
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
复制链接
扫一扫
分享
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章