🖼️Vehicle

⬆️ 需要:
import SwiftUI
struct Vehicle: View {
    
    // view state
    @State private var playing = false
    
    // car body shape
    let b = Vehicle.CarBodyShape()    // Vehicle.CarBodyShape
    
    // animation
    let movingForever = Animation
        .linear(duration: 0.3)
        .repeatForever(autoreverses: true)
    
    // view body
    var body: some View {
        ZStack {
            // 1. car body (filled)
            b
                // 🌀ShapeStyle+LinearGradient
                .fill(.horizontal(.green, .blue, .indigo))
                .aspectRatio(2, contentMode: .fit)
                .overlay {
                    
                    // 2. car body outline
                    b.stroke()
                    
                    // 3. wheels
                    let A: UnitPoint = [0.2, 1]    // 🅿️ Rectangular
                    let B: UnitPoint = [0.7, 1]
                    
                    Point(A, size: 60)             // 🖼 Point
                    Point(A, .black, size: 30)
                    Point(B, size: 60)
                    Point(B, .black, size: 30)
                }
                .shadow(radius: 8)
            
                // animation
                .offset(y: playing ? -5 : 0)
                .onTapGesture {
                    withAnimation(movingForever) { 
                        self.playing.toggle()
                    }
                }
        }
    }
}struct Vehicle_Previews: PreviewProvider {
    static var previews: some View {
        Vehicle()
            .frame(width: 300, height: 150)
    }
}- used in Sports Car in Sunset example. 
- uses Vehicle.CarBodyShape. 
- is a View. 
- has simple animations. 
Last updated
Was this helpful?