上下滑入场景切换效果的全屏实现与问题

bbframework
author: Lan
DATE: 06/15
更多内容

使用 slideInB/slideInT 进行场景切换,全屏升级时改为:SLIDEINB_EX/SLIDEINT_EX
例:
game:enterScene("xxx",{},"slideInB",1.5)
↓↓↓
game:enterScene("xxx",{},"SLIDEINB_EX",1.5)

注:修改之后要在真机上才能看到效果,模拟器无法进行场景切换,为了调试方便可以在game_init定义一个全局变量如 _DEBUG (需避免与框架的变量冲突), 每次模拟器进行调试的时候修改这个值就行了:

if _DEBUG then
    game:enterScene("xxx",{},"slideInB",1.5)
else
    game:enterScene("xxx",{},"SLIDEINB_EX",1.5)
end

  • 改成全屏之后可能出现一个问题,部分超出上下边缘的精灵,在切换过程中可以看到超出部分会覆盖到下一个场景,当切换完成上一个场景释放后才消失。解决这个问题有3个方法(仅供参考):
    1、美术改图
    2、用精灵的setTextureRect方法设置显示区域,让超出屏幕部分不显示
    3、创建一个 CCClippingNode再把精灵添加到上面

这里建议使用第3个方法,因为第一个方法太low 而且耗时长, 使用 setTextureRect 太麻烦,rect 原点是精灵左上角, 所以要计算精灵需要显示的高度,而且设置后需要重新计算精灵的位置。所以最简单粗暴的方法可以直接创建一个屏幕大小的CCClippingNode, 把会超出屏幕的精灵添加到 CCClippingNode 中再添加到层中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,271评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,093评论 25 709
  • 前面乱乱的草稿忘拍了,那就从勾线开始吧 第一次画儿子,学时不长,基础薄,画的不好,仅那么一点点神似,争取...
    242依依阅读 271评论 15 7
  • 表妹发来微信: ——我看五分钟的书,就能打十个哈欠,好辛苦。你当时是怎么过来的啊? ——不说当时,就说现在,我现在...
    桃花太红李太白呀阅读 333评论 0 1
  • 21岁了至今单身狗,甭说早恋了就连暗恋这事儿都跟我没多大关系,小学初中高中我是我们宿舍那一两个单身狗中的一个,呵,...
    罗小扇阅读 192评论 0 3