首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

cocos2d 小结:四 背景的循环移动

2012-08-26 
cocos2d 总结:四 背景的循环移动1:CCSpriteFrameCache1):?从*.plist文件中读取内容设置?CCSpriteFrameCach

cocos2d 总结:四 背景的循环移动

1:CCSpriteFrameCache

1):?从*.plist文件中读取内容设置?CCSpriteFrameCache ,该对象是一个全局对象

// Load all of the game's artwork up front.

????????????? CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];

????????????? [frameCache addSpriteFramesWithFile:@"game-art.plist"];

2): Now uses the image from the Texture Atlas.

//bullet.png文件名称是在*.plist文件中定义的

CCSpriteFrame* bulletFrame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"bullet.png"];

CCSpriteBatchNode* batch = [CCSpriteBatchNode batchNodeWithTexture:bulletFrame.texture];

?

从CCSpriteFrameCache 直接创建CCSprite对象

for (int i = 0; i < 7; i++)

????????????? {

???????????????????? NSString* frameName = [NSString stringWithFormat:@"bg%i.png", i];

???????????????????? CCSprite* sprite = [CCSprite spriteWithSpriteFrameName:frameName];

???????????????????? sprite.position = CGPointMake(screenSize.width / 2, screenSize.height / 2);

???????????????????? [spriteBatch addChild:sprite z:i];

????????????? }

?

spriteWithSpriteFrameName方法的源代码为:(也是从CCSpriteFrameCache读取数据)

+(id)spriteWithSpriteFrameName:(NSString*)spriteFrameName

{

?????? CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:spriteFrameName];

?????? return [self spriteWithSpriteFrame:frame];

}

?

2:ccpAdd(point1,point2);

CGPoint velocity=ccp(1,2);

self.position = ccpAdd(self.position, velocity);

从point1开始按照point2的增量增加

?

1 楼 qichunren 2010-11-19   不错不错。谢谢。

热点排行