This wasn’t a complicated project, although it did involve quite a bit of code because of the various ways fireworks are launched. However, it’s a good example of where particle systems can really bring a game to life – we only have two different types here, but they still do wonders as simple special effects.
Plus of course you have yet more Swift coding experience under your belt, now complete with follow()
, UIBezierPath
, for case let
, color blending, and, yes, even the shake gesture – although I wouldn't be surprised if you switch to having a button on the screen to make explosions easier!
Anyone can sit through a tutorial, but it takes actual work to remember what was taught. It’s my job to make sure you take as much from these tutorials as possible, so I’ve prepared a short review to help you check your learning.
Click here to review what you learned in project 20.
One of the best ways to learn is to write your own code as often as possible, so here are three ways you should try your new knowledge to make sure you fully understand what’s going on:
invalidate()
method of Timer
to stop it from repeating.waitForDuration
and removeFromParent
actions in a sequence to make sure explosion particle emitters are removed from the game scene when they are finished.SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
One of the most effective motivators of success is sharing your progress with other people – when you tell folks what you're doing and what you've learned, it encourages you to come back for more, which in turn will help you reach your app development goals faster.
So, now that you've done all the hard work it's time to share your success: tell folks that you've completed this project, either by clicking the button below to start composing a tweet, or by writing your own message from scratch. This will definitely encourage you to keep learning, but it will also help other folks discover my work – thank you!
Link copied to your pasteboard.