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游戏开发经典实例
122
3
steering = rotationAngle / maximumSteerAngle
}
//
限制转向值在
-1.0
1.0
之间
steering = fmin(steering, 1.0)
steering = fmax(steering, -1.0)
print("Steering: \(steering)")
}
讨论
在上面的例子里,演示了当用户手持设备并做出一系列连续“转向”动作时该如何
处理:
-1.0
表示设备旋转至左满舵,
1.0
表示右满舵。
在横屏模式下,“转向”意味着设备正在做“俯仰”机动,即改变从屏幕左边到右
边这条直线的倾斜角。不过,“横屏”包括了两种持握设备的方式:“左横屏”表
Home
键在屏幕的左边,“右横屏”则表示
Home
键在屏幕的右边。换句话说,
右横屏和左横屏刚好做相反的镜像。
因此,如果我们想让
-1.0
始终表示左满舵,我们必须知道设备被持握的方向。可以
通过
UIApplication
shared
对象的
statusBarOrientation
属性来进行判断。
3.18
测量磁场
问题
在游戏中,如何知道设备附近有一块磁铁或磁体存在。
解决方案
首先,我们需要导入
Core Motion
框架。请参考本章问题
3.9
的内容。然后调用
CMMotionManager
类的
startMagnetometerUpdates(to:, withHandler:)
方法去开
启和监听内置磁力计的数据:
motionManager.startMagnetometerUpdates(to: ...
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