2014-04-17 45 views
1

如何創建SKPhysicsBody bodyWithBodies?
我是新的,我嘗試過,但它只是不會出現在模擬器上。有人可以舉一個例子嗎? 這裏是我的代碼部分:Xcode上的BodyWithBodies

Bike = [SKSpriteNode node]; 
    Bike.physicsBody = [SKPhysicsBody bodyWithBodies:bikeArray]; 
    Bike.position = CGPointMake(100, 100); 
    //Bike.size = CGSizeMake(40, 50); 
    Bike.physicsBody.mass = 0.1; 
    //Bike.physicsBody.dynamic = YES; 
    Bike.physicsBody.affectedByGravity = YES; 
    Bike.physicsBody.restitution = 0; 
    Bike.physicsBody.friction = 0; 
    Bike.physicsBody.allowsRotation = YES; 
    Bike.name = @"Bike"; 
    [self addChild:Bike]; 

坦克,

+0

你是什麼意思「不會出現」?一個物理體本身看起來不像任何東西。 –

回答

1

你可以這樣說:

object1.physicsBody = [SKPhysicsBody bodyWithBodies:@[object2, object3, object4]]; 

您可以列出每個精靈的物體,像我上面做了,或把它們粘插入一個數組,並像你的代碼示例一樣進行操作。只要記住你在數組中的精靈對象應該已經聲明瞭它們各自的位置(object.position = CGPointMake(x,y);)並且被添加到視圖中。

要記住的其他重要問題是:

傳入此方法的物理體的形狀來創建一個新的物理機構,其覆蓋面積是其子的區域的聯合。這些區域不需要連續。如果兩部分之間有空間,其他部分可能會在這些部分之間通過。然而,物理體被視爲一個單一的連接體,這意味着施加在身體上的力量或衝動會影響所有的物體,就好像它們被一個堅不可摧的框架連在一起一樣。

+0

我試過沒有做,但它開始崩潰... – user3529025

+0

我這樣做:bikee = [SKSpriteNode節點]; bikee.physicsBody = [SKPhysicsBody bodyWithBodies:@ [leftCircle,rightCircle,bike]]; bikee.position = CGPointMake(200,300); bikee.size = CGSizeMake(40,50); bikee.physicsBody.mass = 0.1; bikee.physicsBody.dynamic = YES; bikee.physicsBody.affectedByGravity = YES; bikee.physicsBody.restitution = 0; bikee.physicsBody.friction = 0; bikee.physicsBody.allowsRotation = YES; bikee.name = @「bikee」; // [self addChild:bikee]; – user3529025

+0

請幫助.... – user3529025