Cocos2d notification 使用
来源:互联网 发布:怎样企业网络个人投资 编辑:程序博客网 时间:2024/05/17 06:02
我们在游戏的制作中,肯定会设计到呈现给玩家的信息提示,比如获得了一个什么样的技能,获得了多少分数。这样的提示应该独立于游戏画面,即使在场景切换时信息提示也不应该受到影响。
cocos2d采用了便于理解的设计,每一个游戏的场景都是一个Scene,不同的场景切换也很方便,但任何时刻只能有一个scene运行,在场景切换的时候很难保留一个独立的层来显示提示信息。一开始我们使用了UIView,使用了非cocos2d的方式来实现,虽然达到了效果,但是总觉得在cocos2d里混入UIView不太舒服,于是查阅cocos2d的源代码,发现Director有一个notificationNode,独立于当前运行的scene。
CCDirector的drawScnene方法片段:
[runningScene_ visit];
[notificationNode_ visit];
现在我们可以创建一个CClayer,显示我们的提示信息,并赋给notificationNode
NotificationLayer *notificationLayer = [NotificationLayer node];
[[CCDirector sharedDirector] setNotificationNode:notificationLayer];
结果运行正常,该notificationLayer可以在scene切换时正常显示。但是我在NotificationLayer初始化的时候schedule了一个方法,用来显示一段时间后退出,这个动作并没有执行。
[self schedule:@selector(updatePosition:)];
调试发现,NotificationLayer由于没有加入到场景中,因此isRunning始终为NO。这样CCScheduler便无法执行updatePosition这个方法,因为它的isPause==YES。
不得已只好在发送setNotificationLayer消息时,向notifiationLayer发生onEnter消息,来模拟它进入场景。
[[[CCDirector sharedDirector] notificationNode] onEnter];
最后不要忘了显示结束后清理资源。
转载于:http://blog.sina.com.cn/s/blog_7a2ffd5c0100trz8.html以备忘
- Cocos2d notification 使用
- Notification 使用
- Notification使用
- 使用Notification
- Notification 使用
- notification 使用
- Notification使用
- Notification使用
- 使用Notification
- notification使用
- Notification---Notification使用详解之一:基础应用
- Notification的使用(自定义Notification布局)
- 使用 WS-Notification
- 3. Notification的使用
- 3、Notification的使用
- Android-Notification的使用
- Android NOtification 使用
- iphone notification及使用
- jquery Tabs标签功能的一个Bug
- Cocos2d-x长按键详解
- IOS开发中,IAP(In-App Purchase, 程序内置收费)相关总结, 及备忘
- Unix 环境变量
- jQuery实现中间登录层随网页滚动背景变暗(兼容各种浏览器)
- Cocos2d notification 使用
- Linux学习备忘005——Linux查看程序端口占用情况
- session和cookies的区别
- 软件包后缀 noarch
- 使用 AirPlay 发送图片
- Bitmap的回收
- Linux多任务编程(四)---exit()函数及其基础实验
- google地图中, 纬度坐标在方形地图上定位问题的一点研究
- Hdu 1968 Just a Hook