的非透明部分我喜歡這裏的同樣的問題:SKSpriteKit, detect non-transparency parts的XCode Spritekit,碰撞與PNG
我的職位是從那裏刪除。我不知道爲什麼,在其他論壇上,這是一個雙重職位! 但是,好吧,如果你喜歡那樣。可憐的丹尼仍然沒有答案!
好吧,再次提出這個問題: 有兩個PNG文件與透明區域。就像丹尼黃的帖子一樣。 如果它們碰撞「 - (void)didBeginContact:(SKPhysicsContact *)contact」方法失敗。 但我們尋找的是他們只是在圖像的不透明區域進行拼合。
這裏是一個小的代碼剪斷:
...
SKTexture *nyanTexture1 = [SKTexture textureWithImageNamed:@"test.png"];
nyanTexture1.filteringMode = SKTextureFilteringNearest;
nyan = [SKSpriteNode spriteNodeWithTexture:nyanTexture1];
nyan.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:nyan.size.height/2];
nyan.physicsBody.dynamic = YES;
nyan.physicsBody.allowsRotation = NO;
...
nyan.physicsBody.categoryBitMask = nyanKategorie;
nyan.physicsBody.collisionBitMask = worldKategorie | tunnelKategorie;
nyan.physicsBody.contactTestBitMask = worldKategorie | tunnelKategorie;
...
WasserFallTexture1 = [SKTexture textureWithImageNamed:@"Wasserstrahl1.png"];
SKSpriteNode* tunnel1 = [SKSpriteNode spriteNodeWithTexture:WasserFallTexture1];
tunnel1.position = CGPointMake(0, y);
tunnel1.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:tunnel1.size];
tunnel1.physicsBody.dynamic = NO;
tunnel1.physicsBody.categoryBitMask = tunnelKategorie;
tunnel1.physicsBody.contactTestBitMask = nyanKategorie;
...
[tunnel addChild:tunnel1];
我可以做,沒有Spritekit的不錯引擎。我也執行它,但我想知道一種方法來與SpriteKit引擎做到這一點。 我知道我可以改變「SKPhysicsBody」類型和區域,但是我正在尋找一個soloution女巫可以捕獲兩個PNG文件不透明區域之間的碰撞。
感謝, 山姆