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游戏开发经典实例
Scene Kit
259
讨论
要想在场景中看到地,或者看出物体在
3D
空间中的位置,使用
SCNFloor
个好
办法。
我们还可以
SCNFloor
象添加物理学特性,这样就能为放置在它上面的物体提
供一个支持平面:
let floorPhysicsBody =
SCNPhysicsBody(type: SCNPhysicsBodyType.static,
shape: SCNPhysicsShape(geometry: floor, options: nil))
floorNode.physicsBody = floorPhysicsBody
8.15
点击测试
问题
当我们在屏幕上点击时,能够获得被点击对象的信息。
解决方案
可以使用
SCNView
hitTest
函数:
// locationToQuery
是一个
CGPoint
,使用的是视图空间
//
找出是哪个点被点击
let sceneView = self.view as! SCNView
let hits = sceneView.hitTest(locationToQuery,
options: nil)
for hit in hits {
print("Found a node: \(hit.node)")
}
讨论
hitTest
返回位于某个点上的所有对象。它返回的是多个节点;如果只需要返回第
一个节点,可以将
options
数设置为一个字典
[SCNHitTestFirstFoundOnlyKey: ...
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