cocos2d基础知识 之画面切换

因为在游戏开发中 画面经常切换是经常用到的是  所以把几个经常用到的方法测试下 :

首先我们需要2个CCSence类 一个用作切换前的背景   一个用作切换后的配置   分别在2个scence中添加一个图片精灵 目的很简单 就是能直观的反映出 切换效果。


我们定义2个实现类 

1:backgroundscence

代码如下:



#import "BackGroundScence.h"

#import "OnTopScence.h"

//imple scence

@implementation BackGroundScence

@synthesize layer=_layer;


-(id)init{


self=[super init];

if (self) {

//add layer to scene;

self.layer=[BackGroundLayer node];

[self addChild:_layer];

}

return self;

}

-(void)dealloc{

[_layer release];

_layer=nil;

[super dealloc];

}

@end


@implementation BackGroundLayer


-(id)init{

self=[super init];

if (self) {

//detemine sprite

CCSprite *sprite=[CCSprite spriteWithFile:@"bg.jpg"];

sprite.anchorPoint=CGPointZero;

[self addChild:sprite z:0 tag:1];

//detemine font

[CCMenuItemFont setFontSize:25];

CCMenuItem *newGame=[CCMenuItemFont itemFromString:@"click me"

target:self

  selector:@selector(OnClick:)];

CCMenu *mn=[CCMenu menuWithItems:newGame,nil];

[mn alignItemsVertically];

[self addChild:mn z:1 tag:2];

}

return self;

}

-(void)OnClick:(id)sender{

CCScene *sc=[CCScene node];

[sc addChild:[OnTopScence node]];

[[CCDirector sharedDirector]replaceScene:

 

[CCTransitionSlideInR transitionWithDuration:1.2f scene:sc]];

}

-(void)dealloc{

}

@end

显示出来的效果如下:



当你点击click me的时候 会执行屏幕切换 replace CCTransactionSlideInR 顾明思议下一个图片从右边开始进行


感觉效果屏幕左移。 然后显示另一个scene上的图片精灵

这里不在演示了 你们自己可以试试 代码如下


//

//  OnTopScence.m

//  InitGame

//

//  Created by 铁军 on 12-4-17.

//  Copyright 2012 西安航专. All rights reserved.

//


#import "OnTopScence.h"

@implementation OnTopScence

@synthesize layer=_layer;


-(id)init{

self=[super init];

if (self) {

//add layer to scene;

self.layer=[OnTopLayer node];

[self addChild:_layer];

}

return self;

}

-(void)dealloc{

[_layer release];

_layer=nil;

[super dealloc];

}

@end

@implementation OnTopLayer

-(id)init{

self=[super init];

if (self) {

CCSprite *sprite=[CCSprite spriteWithFile:@"Space.png"];

sprite.anchorPoint=CGPointZero;

[self addChild:sprite z:0 tag:1];

}

return self;

}

-(void)dealloc{

[super dealloc];

}



@end





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值