Skip to Content
Swift游戏开发经典实例
book

Swift游戏开发经典实例

by Jonathon Manning, Paris Buttfield-Addison
January 2020
Intermediate to advanced
356 pages
6h 4m
Chinese
China Electric Power Press Ltd.
Content preview from Swift游戏开发经典实例
270
9
讨论
当我们想拦截一个运动物体时,我们其实是想将对象移动到目标对象即将到达的某
个位置,而不是目标对象的当前位置。如果仅仅是运动到目标对象的当前位置,你
永远都追不上它。
因此,我们应该根据目标对象当前位置和它的运动速度计算出目标对象将到达哪个
位置,以及你和它之间的距离,才能最终抓到它。
9.5
逃逸
问题
我们想让一个物体逃脱另一个对象的追逐。
解决方案
使用“
move to
”方法,但方向相反:
var offset = target.position - self.position
//
使
offset
和我们的移动速度相同
offset = offset.normalized
//
注意负号,我们乘上移动速度后取一个相反的反向,
//
表明我们将逃离目标
offset *= CGFloat(-self.movementSpeed) * deltaTime
//
offset
加到当前位置
let newPosition = self.position + offset
self.position = newPosition
讨论
逃离目标和向目标移动极其相似。不同的是我们将移动速度改成了相反方向。这样
我们就会得到一个与目标方向相反的向量。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

精通機器學習

精通機器學習

Aurélien Géron
FreeBSD® Unleashed

FreeBSD® Unleashed

Brian Tiemann, Michael C. Urban
深入淺出代數

深入淺出代數

Tracey Pilone, Dan Pilone
Swift学习手册

Swift学习手册

Jon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787519840129