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 不错不错。谢谢。