skphysicsworld

    1熱度

    2回答

    我已經設置了我的重力,以便在我的遊戲開始時物體會變得非常緩慢,並且隨着玩家收集這些物品,我希望重力增加。 override func didMove(to view: SKView) { self.physicsWorld.gravity = CGVector(dx: 0.0, dy: -3.0) initializeGame() } 我已經設定了像這樣的重力,但我不確定

    1熱度

    1回答

    我一直在使用iOS11/Swift4下的PhysicsWorld(一個基本的粒子系統)運行一個簡單的多體(800)2x2像素SpriteKit仿真。 它包含一個簡單的徑向重力節點,其中有800個物體在沒有碰撞或接觸檢測的情況下圍繞它運行。 在我的測試硬件上,iPhone6S - 我對獲得60FPS和超級平滑模擬印象深刻 - 這爲更多探索打開了道路。 我一直遇到的唯一問題是性能確實不一致。 如果我將

    1熱度

    1回答

    我正在製作一款俄羅斯方塊類遊戲,我希望我的方塊能以等速度下落。我想用SpriteKit物理詞重力來實現它。 問題是重力一定是加速度,因此阻止他們下降時開始移動得更快。我知道我可以關閉重力並使用動作來移動塊,但我希望通過重力來完成。 有沒有辦法讓SpriteKit世界中的引力成爲線性恆定速度?

    1熱度

    2回答

    我希望能夠通過使用SKPhysicsBody的applyImpulse方法通過自定義貝塞爾路徑跟隨節點從點A移動到點B.我想使用applyImpulse的原因是因爲它根據初始衝動來模擬一個很好的自然運動(快速開始並減速)。看起來,當一個物體通過applyImpulse施加脈衝時,它只會在與環境的摩擦導致其速度減小到零時停止。我希望它遵循我的道路,並在最後停下來。我怎麼去解決它?

    7熱度

    4回答

    我一直在努力爭取在過去兩天得到兩個SKSpriteNodes來註冊衝突並喚起didBegin#contact。 我已經爲這兩個對象設置了位掩碼'categoryBitMask','contactTestBitMask'和'collisionTestBitMask'。 我還設置了「dynamic」屬性都爲「true」 initPhysics()似乎建立physicsWorld還好。 所有我期待的是,

    1熱度

    1回答

    我希望能夠在我的遊戲中「縮放」出來,但是當我縮放父「世界」SKNode時,關節不會相應地縮放,因爲它們必須被添加到SKScene(它是根節點)。 更改SKScene的大小,但是隨着兒童的規模一起變化,所有HUD圖形都會隨之變化。 我已經考慮創建我的HUD作爲SKView的孩子,但它似乎違背了Apple推薦的內容。我也失去了使用SKScene轉換的好處,並最終處理了許多ViewControllers

    1熱度

    2回答

    我有一個用SKPhysicsBody(edgeLoopFrom:...)創建的大型長方形SKPhysicsBody。在那個物理體裏面有一堆彈跳的球。當出現通知時,我會從屏幕底部顯示一個視圖。我想調整SKPhysicsBody的大小,以便球在屏幕上彈出此通知視圖。 我現在要做的就是 func updateWalls() { let wallInsets = UIEdgeInsetsMake

    0熱度

    1回答

    如果我在屏幕上有一個SKSpriteNode,我將如何輕彈它,以便模擬足球的踢球物理過程。 how to throw SKSpriteNode?我猜測,它會有點像這個問題,但不應該發生,而不是在它被輕彈之前首先跟隨你的手指的節點。它應該看起來像當你輕彈時朝着節點滑動,然後一旦你的手指碰到節點,它就像足球的物理學一樣移動它。任何人都可以給我一個地方,以實現這一目標?

    1熱度

    1回答

    我有一個遊戲,其中下降節點下降,擊中基本數字雪碧節點和遊戲邏​​輯運行從那裏。當我從頭開始創建一款新遊戲時,碰撞檢測的工作原理應該如何。我使用NSCoding從以前的保存中創建遊戲時出現問題。在這兩種情況下(新遊戲和繼續保存遊戲)物理主體是相同的 - 動態,相同大小的主體,相同的contactTestBitMask,相同的categoryBitMask。我測試了所有這些,所以我知道這是真的。物理接

    1熱度

    2回答

    我正在研究一個應用程序,當中央球顏色匹配一個較小的球,正在朝中央球顏色飛行球員得分。 所以爲了這個工作,我需要didBeginContact函數來調用「敵人」和「mainBall」相撞的時候。唯一移動的是敵方球,因爲它飛向固定的主球體 我相信我已經正確設置了位掩碼,但didBeginContact函數沒有被調用。 有人可以幫忙嗎? 這裏是我的代碼 struct bitMasks{ static