游戏公司日记(5)
来源:互联网 发布:航盛导航端口 编辑:程序博客网 时间:2024/06/05 02:18
昨天有没写日记,和今天的一起补上吧。
昨天晚上代码看到2点,不是被逼的,而是发现cocos2dx代码中的精华了, 虽然公司用的是cocos2dx 2.2.2的很老的游戏版本,但是里面还是有很多值得看的地方。
昨天就发现了CocosGUITestMainLayer demo中的用法,真是受益匪浅啊,里面主要交代了界面的动画效果,比如界面的拖动和滚动。和控件层的使用。
昨天和老板讨论了一下自适应,iphone4和iphone5的长宽比不同,iphone4和ipad的长宽比也不同。一般游戏按照iphone4的手机分辨率为原型,如果游戏使用全适应,iphone5中游戏的高会被拉长(长宽比大),但是ipad的宽被拉长(长宽比小)。
对于比iphone4长的iphone5手机,应该采用根据宽度来自适应。唯一需要注意的地方是背景图的大小应该按照iphone5的来做,并且游戏画面应该始终按照屏幕中点坐标来搭建。这样做出来的游戏放在iphone4上是完全正确的,只是没显示整张背景图,而游戏运行在iphone5上就是把背景图全部显示出来,上下两边多出来一点空间。但比全适应美观。
对于比iphone4宽的ipad手机,同样的道理,应该采用根据长来自适应。需要注意的地方也是背景图的大小应该按ipad的来做,结合上面iphone5的经验,背景图片的长和宽都要比原iphone4中的要大。也是放在屏幕中点搭建,这样做出来的游戏放在iphone4上是完全正确的,只是没显示整张背景图,而游戏运行在ipad上就是把背景图全部显示出来,只是左右两边多出来一点空间。但比全适应美观。
所以根据ios的经验也可以得出安卓手机的自适应原理。
最后应该在代码中这样判断:
首先得到屏幕的长宽比currentAspectRatio和你现在开发游戏时原始长宽比originalAspectRatio。
if(currentAspectRatio>originalAspectRatio) 采用根据宽度自适应
if(currentAspectRatio<originalAspectRatio) 采用根据长度自适应
今天发现一个场景中的层弹出有2中方式
一是,新layer弹出(出现),老layer变暗。
二是,新layer弹出(出现),老layer弹出(消失)
我想了一下,可以这样实现
一是,当需要该layer时,创建一个Layer(应动态加载UILayer不要把UILayer全部写入studioScene中,然后游戏运行的时候全部加载,这样内存占用很大),位置设置在中间(以后开发游戏就必须这样做,为了不同屏幕适应问题),layer中添加一张大黑色图片,大小应和背景图片一样,锚点设为图片中心,黑色图片运行动画变黑。然后添加UILayer文件,当然锚点也是中心,然后为该UILayer执行弹出动画, 接着添加的就是UILayer中的关闭按钮事件, 关闭按钮时,执行黑色图片变淡和UILayer结束动画,动画结束时,删除该层. 以上方法你就可以创建一个层的模板类,复用非常方便.
二是,
- 游戏公司日记(5)
- 游戏公司日记(4)
- 手游公司日记(1)
- 手游公司日记(6)
- 手游公司日记(7)
- 手游公司日记(7)
- 手游公司日记(7)
- 手游公司日记(8)
- 手游公司日记(8)
- 游戏日记..
- 游戏公司
- 游戏公司
- 联通公司工作日记
- 独立游戏开发日记(1)
- hjr-c#实习日记(三):公司WEB架设
- 某游戏公司笔试题(2)
- 游戏开发日记一
- 【日记】感谢游戏,戏里戏外
- PgSql函数——赋值问题
- secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效
- 使用CoreLocation来跟踪用户距离
- 服务器编程入门(10)TCP回射服务器实现 - 并发
- reportviewer 解决按钮tips英文问题
- 游戏公司日记(5)
- Makefile 的变量-2
- Python正则表达式的用法
- Leetcode_subsets
- 使自己的应用出现在分享列表
- mysql常用命令
- Chapter 1 Hello, world of concurrency in C++!
- svn: 方法 OPTIONS 失败于 “https://192.168.1.110/svn/amlogic_mx/software/turnkey_src”: SSL handshake fail
- MyBatis_与spring的整合之添加事务