开发你的第一款游戏:技术与实践深度解析
1. 蜘蛛重置机制
当蜘蛛到达屏幕底部后,需要将其位置重置到屏幕顶部上方,以便再次下落。以下是实现该功能的代码:
-(void) spiderDidDrop:(id)sender
{
// 确保 sender 是 CCSprite 类的实例。
NSAssert([sender isKindOfClass:[CCSprite class]], @"sender is not a CCSprite!");
CCSprite* spider = (CCSprite*)sender;
// 将蜘蛛移回屏幕顶部之外
CGPoint pos = spider.position;
CGSize screenSize = [[CCDirector sharedDirector] winSize];
pos.y = screenSize.height + [spider texture].contentSize.height;
spider.position = pos;
}
在这个代码中,首先使用 NSAssert 来确保 sender 是 CCSprite 类的实例。这是一种防御性编程的做法,因为在实际运行中, sender 可能不是预期的类型。例如,作者最初运行代码时,忘记使用 CCCallFuncN 而使用了 CCCallFunc <
游戏开发实战:从基础到性能优化
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



