Cocoa2D 实现半透明暂停菜单
来源:互联网 发布:域名劫持工具 编辑:程序博客网 时间:2024/05/20 21:43
有时候需要实现一个暂停菜单暂停游戏,但菜单自身不暂停(可以有动画),菜单周围都是半透明的(能显示底部的游戏内容),以下代码就是实现此类功能:
PauseLayer.h
PauseLayer.h#import <Foundation/Foundation.h>#import "cocos2d.h"@interface PauseLayerProtocol: CCNode -(void)pauseLayerDidPause;-(void)pauseLayerDidUnpause;@end@interface PauseLayer : CCLayerColor {PauseLayerProtocol * delegate;}@property (nonatomic,assign)PauseLayerProtocol * delegate;+ (id) layerWithColor:(ccColor4B)color delegate:(PauseLayerProtocol *)_delegate;- (id) initWithColor:(ccColor4B)c delegate:(PauseLayerProtocol *)_delegate;-(void)pauseDelegate;@end
PauseLayer.m
//// PauseLayer.m// Pause//// Created by Pablo Ruiz on 06/06/11.// Copyright 2011 PlaySnack. All rights reserved.//#import "PauseLayer.h"@implementation PauseLayer@synthesize delegate;+ (id) layerWithColor:(ccColor4B)color delegate:(id)_delegate{return [[[self alloc] initWithColor:color delegate:_delegate] autorelease];}- (id) initWithColor:(ccColor4B)c delegate:(id)_delegate { self = [super initWithColor:c]; if (self != nil) {CGSize wins = [[CCDirector sharedDirector] winSize];delegate = _delegate;[self pauseDelegate];CCSprite * background = [CCSprite spriteWithFile:@"pause_background.png"];[self addChild:background];CCMenuItemImage *resume = [CCMenuItemImage itemFromNormalImage:@"pause_btn_resume.png" selectedImage:@"pause_btn_resume_dwn.png"target:self selector:@selector(doResume:)];CCMenu * menu = [CCMenu menuWithItems:resume,nil];[menu setPosition:ccp(0,0)];[resume setPosition:ccp([background boundingBox].size.width/2,[background boundingBox].size.height/2)]; [background addChild:menu];[background setPosition:ccp(wins.width/2,wins.height/2)]; } return self;}-(void)pauseDelegate{if([delegate respondsToSelector:@selector(pauseLayerDidPause)])[delegate pauseLayerDidPause];[delegate onExit];[delegate.parent addChild:self z:10];}-(void)doResume: (id)sender{[delegate onEnter];if([delegate respondsToSelector:@selector(pauseLayerDidUnpause)])[delegate pauseLayerDidUnpause];[self.parent removeChild:self cleanup:YES];}-(void)dealloc{[super dealloc];}@end
ccColor4B c={0,0,0,150};[PauseLayerlayerWithColor:c delegate:self];
- Cocoa2D 实现半透明暂停菜单
- 用VB实现QQ一样的菜单(半透明窗口)
- 半透明下拉菜单
- 半透明实现
- 纯CSS多级半透明菜单
- popupwindow自定义半透明的菜单
- iOS开发之实现半透明蒙层背景效果[用于下拉菜单页和分享页]
- 安装COCOA2D
- cocoa2D开发
- Cocoa2d 笔记
- 图像半透明的实现
- J2ME中实现半透明
- 实现png图片半透明
- J2ME中实现半透明
- J2ME 实现半透明效果
- 半透明的实现
- 半透明的实现
- J2me实现半透明效果
- [YII] 学习笔记
- C++ 类型转换
- CODE COMPLETE NOTES 代码大全笔记 软件中的隐喻
- Linux下GCC生成和使用静态库和动态库详解(一)
- Linux下GCC生成和使用静态库和动态库详解(二)
- Cocoa2D 实现半透明暂停菜单
- 关于c盘里的文件夹
- 一个华为人辞职创业后的几个反思
- open, ftruncate, mmap, stat
- TextView属性
- 景深效果
- hdu 1558 Segment set(并查集+计算几何线段相交)
- 在Eclipse中查看JDK类库的源代码
- Python笔记(3)异常处理