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游戏开发经典实例
12
1
1
-
1
:基于继承的设计
1.3
创建基于组件的设计
问题
有时候我们需要使用基于组件的游戏框架设计,这种方式的灵活性更大一些。
解决方案
本节将带你了解如何构建自己的实体
-
组件系统,这点很重要。同时苹果的
GameplayKit
框架已经为此提供一系列现成的类。阅读并充分理解本节的内
容,是基于学习的目的。在真实的项目中,你可以使用下一节介绍的方法。
首先,定义组件类
Component
。这个类用于代表游戏对象(
GameObject
类)的各个
组成部分,
Component
类在开始的时候可以相对简单一些,它仅由一个方法和一个
属性构成:
class Component {
//
组件将装配到哪个游戏对象
var gameObject : GameObject?
游戏的设计
13
func update(deltaTime : Float) {
//
更新组件状态
}
}
然后定义一个
GameObject
类。该类用于表示一个游戏对象:
class GameObject {
//
游戏对象所拥有的组件集合
var components : [Component] = []
//
添加一个组件到游戏对象
func add(component : Component)
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