๐Vehicle.CarBodyShape

โฌ๏ธ ้่ฆ๏ผ Vector2D, Frame
// 2022.02.10
import SwiftUI
extension Vehicle {
/// `Vehicle.CarBodyShape`
struct CarBodyShape: Shape {
// relative points in rect
let A : UnitPoint = [0 , 1 ] // ๐
ฟ๏ธ Vector2D
let B : UnitPoint = [1 , 0.8]
let C1: UnitPoint = [0.1, 0.4] // control points
let C2: UnitPoint = [0.2, 0.5]
let C : UnitPoint = [0.8, 1]
let C3: UnitPoint = [0.9, 1] // control points
let C4: UnitPoint = [1 , 1]
func path(in rect: CGRect) -> Path {
Path { path in
// move to A
path.move(to: rect[A]) // ๐
ฟ๏ธ Rectangular
// add curve to B
path.addCurve(to: rect[B], control1: rect[C1], control2: rect[C2])
// add curve to C
path.addCurve(to: rect[C], control1: rect[C3], control2: rect[C4])
// add line back to A
path.closeSubpath()
}
}
}
}
Last updated
Was this helpful?