用ChatGPT在1分钟内用SwiftUI开发FlipCoin游戏


6 个月前

让我们输入以下脚本到 chatGPT 中,看看结果:

创建一个使用 SwiftUI 的 iOS 应用,功能是抛硬币。将其命名为默认的 ContentView。我想要一个硬币翻转时的动画,并且希望使用图片而不是文本。这些图片分别命名为 heads 和 tails。

以下是结果代码:

import SwiftUI

struct ContentView: View {
    @State private var isHeads = true
    @State private var rotation: Double = 0.0
    @State private var flipped = false
    
    var body: some View {
        VStack {
            Image(isHeads ? "heads" : "tails")
                .resizable()
                .scaledToFit()
                .frame(width: 200, height: 200)
                .rotation3DEffect(
                    .degrees(rotation),
                    axis: (x: 1.0, y: 0.0, z: 0.0)
                )
                .animation(.easeInOut(duration: 0.5), value: rotation)
            
            Button(action: flipCoin) {
                Text("抛硬币")
                    .font(.title)
                    .padding()
                    .background(Color.blue)
                    .foregroundColor(.white)
                    .cornerRadius(10)
            }
            .padding(.top, 50)
        }
        .padding()
    }
    
    private func flipCoin() {
        withAnimation {
            // 旋转硬币
            rotation += 180
            // 等待旋转完成,然后翻转硬币
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
                isHeads.toggle()
                flipped.toggle()
                // 重置旋转以便下次翻转
                rotation += 180
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

我们已经下载了两张不同的硬币图片(正面和反面),并将它们导入到我们的 iOS 项目中。

让我们构建我们的应用并查看结果:

None

想了解更多高级的 SwiftUI 内容,请查看:

掌握 SwiftUI:现代应用开发的全面指南

FluxAI 中文

© 2025. All Rights Reserved