- Game Development with Swift
- Stephen Haney
- 288字
- 2021-07-16 13:45:42
Exploring the physics system
SpriteKit simulates physics with physics bodies. We attach physics bodies to all the nodes that need physics computations. We will set up a quick example before exploring all of the details.
Dropping like flies
Our bees need to be part of the physics simulation, so we will add physics bodies to their nodes. Open your Bee.swift
file and locate the spawn
function. Add the following code at the bottom of the function:
// Attach a physics body, shaped like a circle // and sized roughly to our bee. self.physicsBody = SKPhysicsBody(circleOfRadius: size.width / 2)
It is that easy to add a node to the physics simulation. Run the project. You will see our three Bee
instances drop off the screen. They are now subject to gravity, which is on by default.
Solidifying the ground
We want the ground to catch falling game objects. We can give the ground its own physics body so the physics simulation can stop the bees from falling through it. Open your Ground.swift
file, locate the spawn
function, and then add this code at the bottom of the function:
// Draw an edge physics body along the top of the ground node. // Note: physics body positions are relative to their nodes. // The top left of the node is X: 0, Y: 0, given our anchor point. // The top right of the node is X: size.width, Y: 0 let pointTopRight = CGPoint(x: size.width, y: 0) self.physicsBody = SKPhysicsBody(edgeFromPoint: CGPointZero, toPoint: pointTopRight)
Run the project. The bees will now quickly drop and then stop once they collide with the ground. Notice how bees that fall farther bounce more energetically. After the bees land, your simulator will look like this:

- 計(jì)算機(jī)組成原理與接口技術(shù):基于MIPS架構(gòu)實(shí)驗(yàn)教程(第2版)
- PyTorch深度學(xué)習(xí)實(shí)戰(zhàn):從新手小白到數(shù)據(jù)科學(xué)家
- 云計(jì)算環(huán)境下的信息資源集成與服務(wù)
- Architects of Intelligence
- 數(shù)據(jù)庫開發(fā)實(shí)踐案例
- PySpark大數(shù)據(jù)分析與應(yīng)用
- UDK iOS Game Development Beginner's Guide
- Mastering Machine Learning with R(Second Edition)
- 達(dá)夢數(shù)據(jù)庫性能優(yōu)化
- Sybase數(shù)據(jù)庫在UNIX、Windows上的實(shí)施和管理
- 大數(shù)據(jù)營銷:如何讓營銷更具吸引力
- 數(shù)字媒體交互設(shè)計(jì)(初級(jí)):Web產(chǎn)品交互設(shè)計(jì)方法與案例
- Python金融數(shù)據(jù)分析(原書第2版)
- 大數(shù)據(jù)架構(gòu)商業(yè)之路:從業(yè)務(wù)需求到技術(shù)方案
- Hadoop 3實(shí)戰(zhàn)指南