【发布时间】:2015-11-08 11:25:53
【问题描述】:
我正在为 IOS 创建我的第一个 Endless Runner 游戏,我希望它尽可能动态。我想创建一个大型“平台”图像,然后使用该图像创建各种大小的平台。
这个想法是随机选择一个数字作为平台的宽度,然后生成与所选尺寸相匹配的精灵和主体。完成此操作后,仅使用图像的一部分将图像填充到精灵中。
目前我正在使用以下内容,但这会根据 UIImage 的大小创建节点。
SKSpriteNode *spritePlatform = [[Platform alloc] initWithImageNamed:@"Platform"];
[spritePlatform setPosition:CGPointMake(self.frame.size.width + (spritePlatform.frame.size.width / 2), 200)];
spritePlatform.name = @"Platform";
spritePlatform.physicsBody = [SKPhysicsBody bodyWithTexture:spritePlatform.texture size:CGSizeMake(300, 40)];
spritePlatform.physicsBody.affectedByGravity = NO;
spritePlatform.physicsBody.dynamic = NO;
// 1
spritePlatform.physicsBody.usesPreciseCollisionDetection = YES;
// 2
spritePlatform.physicsBody.categoryBitMask = CollisionCategoryPlatform;
spritePlatform.physicsBody.contactTestBitMask = CollisionCategoryPlayer;
[self addChild:spritePlatform];
[self movePlatform:spritePlatform];
所以理想情况下我想
- 根据随机宽度和固定高度创建精灵。
- 使用较大图像的一部分来填充精灵。
有什么想法可以做到这一点吗?
谢谢
【问题讨论】:
标签: ios objective-c sprite-kit skspritenode