ダウンロード 第7回 サンプルファイル (93.7 KB)
福笑いゲーム画面を作成する
最後に福笑いのゲームを行う画面を作成します。新規ファイル作成手順で、LuckyLaughGameView.swiftを追加してください。また作成後のViewのコードも次のように変更します。
import SwiftUI
struct LuckyLaughGameView: View {
var body: some View {
ZStack {
Image(systemName: "capsule.portrait.fill")
.resizable()
.frame(width: 240, height: 320)
.foregroundStyle(.yellow)
}
}
}
#Preview {
LuckyLaughGameView()
}
LuckyLaughフォルダ内にLuckyLaughGameView.swiftが追加されて、次のようになっていれば問題ありません。

Image(systemName: "capsule.portrait.fill")は福笑いゲームの顔の輪郭になる部分です。ZStackを使用している理由は、これから追加する顔のパーツを重ねられるようにするためです。
次にドラッグできる顔のパーツを配置するために、作成したDraggableImage(systemName: )をZStack内に記述します。
SFSymbolsには目、鼻、口のような形のシンボルも用意されており、今回はそれを使用します。
struct LuckyLaughGameView: View {
var body: some View {
ZStack {
Image(systemName: "capsule.portrait.fill")
.resizable()
.frame(width: 240, height: 320)
.foregroundStyle(.yellow)
// ここを追加↓
DraggableImage(systemName: "eye")
DraggableImage(systemName: "eye")
DraggableImage(systemName: "nose")
DraggableImage(systemName: "mouth")
.foregroundStyle(.red)
DraggableImage(systemName: "rectangle.ratio.3.to.4.fill")
}
}
}
DraggableImage(systemName: "rectangle.ratio.3.to.4.fill")はモヒカンヘアー用のパーツです。DraggableImageで追加したViewが画面の左上に表示されます。

それでは、実際にプレビュー上でドラッグをしてパーツを移動させて福笑いゲームで遊んでみましょう。

これでゲーム画面も完成です。
アプリを完成させる
これまで作成したLuckyLaughGameViewとLuckyLaughRuleViewをひとつの画面上の中でタブを使用して切り替えられるようにします。
すでに作成済みのLuckyLaughViewの変数bodyの中を次のように変更します。
struct LuckyLaughView: View {
var body: some View {
TabView {
Tab("ゲーム", systemImage: "gamecontroller") {
// ここを変更↓
LuckyLaughGameView()
}
Tab("ルール", systemImage: "questionmark.circle") {
// ここを変更↓
LuckyLaughRuleView()
}
}
}
}
各Tab内のコンテンツに作成済みのゲーム画面とルール画面を設定しています。プレビューでもタブを選択することで画面を切り替えられるようになりました。
以上で福笑いゲームの完成です。
まとめと次回
今回はアプリを作る過程で、システムで用意されている画像の使い方や自前で用意した画像の使い方、ドラッグで対象のViewを移動させる方法を学びました。
特にSF Symbolsは、高品質でさまざまなバリエーションもあるため、アプリ開発を助けてくれます。今回紹介したシンボルはほんのひと握りのものなので、ぜひ色々と見て、使ってみてください。
次回はいよいよ最終回です。これまで作成したアプリをひとまとめにしたアプリを作成します。お楽しみに!

この記事は参考になりましたか?
既に会員の方はを行ってください。
- ミニアプリを作って楽しく学ぶSwift連載記事一覧
-
- 【作って学ぶSwiftアプリ開発入門】SwiftUIを使いこなしてミニアプリに遷移できるよ...
- 【作って学ぶSwiftアプリ開発入門】SF Symbolsを活用して「福笑いゲーム」を作ろ...
- 【作って学ぶSwiftアプリ開発入門】タイマー機能アプリ「カップラーメンタイマー」を作ろう...
- この記事の著者
-
リルオッサ(リルオッサ)
ブレイクダンサー、時々iOSエンジニア。元ブレイクダンス世界2位。 現在は、楽しいことを追い求め、iOSアプリを作ったり、ビールを飲んだり、絵を書いたり、技術記事を書いたり、海外登壇チャレンジしたり、ブレイクダンスの大会を企画したりしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
