use*_*781 3 iphone collision-detection ios
嗨我正在尝试在我的游戏中设置碰撞检测,我想添加碰撞检测,以便当气球击中它们弹出的尖峰时.我看过Ray Wenderliches教程,但我无法理解,因为它不适用于我的情况.有什么想法如何为我的案子设置它?
尖峰位于屏幕的顶部,气球在底部产生.
小智 15
设置2个对象之间的upp冲突的基础是首先设置upp常量,表示可能发生碰撞的不同对象.我通常会创建一个constants.h文件,其中我将保留所有将在游戏/应用程序中使用的变量.
在constants.h文件中声明以下内容,或者只是在类中将它们声明为全局变量:
static const int balloonHitCategory = 1;
static const int spikeHitCategory = 2;
Run Code Online (Sandbox Code Playgroud)
你现在想做的是设置气球和尖刺的物理特性
SKSpriteNode *ballooon = [SKSpriteNode spriteNodeWithImageNamed:@"yourimagefilename"];
ballooon.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:yourSize];
ballooon.physicsBody.categoryBitMask = balloonHitCategory;
ballooon.physicsBody.contactTestBitMask = spikeHitCategory;
ballooon.physicsBody.collisionBitMask = spikeHitCategory;
Run Code Online (Sandbox Code Playgroud)
你应该设置你的尺寸并为两个spritenodes设置你的图像
SKSpriteNode *spikes = [SKSpriteNode spriteNodeWithImageNamed:@"yourimagefilename"];
spikes.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(yourSizeX, yourSizeY)];
spikes.physicsBody.categoryBitMask = spikeHitCategory;
spikes.physicsBody.contactTestBitMask = balloonHitCategory;
spikes.physicsBody.collisionBitMask = balloonHitCategory;
Run Code Online (Sandbox Code Playgroud)
对于碰撞设置以下方法:
-(void)didBeginContact:(SKPhysicsContact *)contact
{
SKPhysicsBody *firstBody, *secondBody;
firstBody = contact.bodyA;
secondBody = contact.bodyB;
if(firstBody.categoryBitMask == spikeHitCategory || secondBody.categoryBitMask == spikeHitCategory)
{
NSLog(@"balloon hit the spikes");
//setup your methods and other things here
}
}
Run Code Online (Sandbox Code Playgroud)
在碰撞发生之前你还应该添加.在你的场景.h文件中添加.
@interface myScene : SKScene <SKPhysicsContactDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
并在init函数的.m文件中添加:
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.physicsWorld.contactDelegate = self;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
欲了解更多有关冲突处理退房苹果的文档和冒险游戏例如: https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/CodeExplainedAdventure/HandlingCollisions/HandlingCollisions.html#//apple_ref/doc/uid/ TP40013140-CH5-SW1
| 归档时间: |
|
| 查看次数: |
9051 次 |
| 最近记录: |