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游戏开发经典实例
视图和菜单
77
现的,每个函数都会带一个已有的变形操作,然后对它进行修改。修改完这个变换
后,就可以使用它了。
例如:
var transform = CGAffineTransform.identity
transform = transform.translatedBy(x: 50, y: 0)
transform = transform.rotated(by: CGFloat(Double.pi / 2))
transform = transform.scaledBy(x: 0.5, y: 2)
self.transformedView.transform = transform
上述代码解释如下:
一开始是默认的
identity
变形。
向右平移
50
像素。
顺时针旋转
90
度。
x
轴缩放
50%
y
轴缩放
200%
应用变形。
视图的
transform
属性是“可动画的”,也就是和透明度、位置是一样的。所以在
视图旋转、压缩或放大的同时,我们仍然可以驱动动画。
2.10
实现视图的弹起效果
问题
如何在游戏主菜单上实现一个弹起的效果,以便吸引住玩家的眼球?例如,按钮一
开始是小尺寸,会放大为大尺寸,然后又恢复到原来的小尺寸,如图
2-20
所示。
2
-
20
:“弹起”效果
78
2
解决方案
答案是使用
Quartz Core
框架来实现。首先,需要在文件头部添加这行代码:
import QuartzCore
然后,在需要展现“弹出”效果时使用如下代码:
let keyframeAnimation ...
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