From b72c92de0b140c452cea0721f1a96ed1ebff9f00 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 22 Aug 2025 18:11:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=A8=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 195066 -> 203063 bytes wake/View/Blind/Box.swift | 301 ++++++++++++++++++ wake/View/Blind/Box1.swift | 253 +++++++++++++++ wake/View/Blind/Box3.swift | 226 +++++++++++++ wake/View/Blind/Box4.swift | 140 ++++++++ wake/View/Blind/Box5.swift | 222 +++++++++++++ wake/View/Blind/Box6.swift | 250 +++++++++++++++ wake/View/Welcome/SplashView.swift | 52 +-- wake/WakeApp.swift | 34 +- 9 files changed, 1410 insertions(+), 68 deletions(-) create mode 100644 wake/View/Blind/Box.swift create mode 100644 wake/View/Blind/Box1.swift create mode 100644 wake/View/Blind/Box3.swift create mode 100644 wake/View/Blind/Box4.swift create mode 100644 wake/View/Blind/Box5.swift create mode 100644 wake/View/Blind/Box6.swift diff --git a/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate b/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate index 4bcdc426bae210946446d10af95bc0752ee30f72..6dc6901d147cbb184fc5351ae61a8563e77dcd8b 100644 GIT binary patch literal 203063 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 CzCQW@ literal 195066 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%0DM)=w3EsY45WB^b5e~_3x8)0@X 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 diff --git a/wake/View/Blind/Box.swift b/wake/View/Blind/Box.swift new file mode 100644 index 0000000..9da0c25 --- /dev/null +++ b/wake/View/Blind/Box.swift @@ -0,0 +1,301 @@ +import SwiftUI + +struct FilmStripView: View { + @State private var animate = false + // 使用SF Symbols名称数组 + private let symbolNames = [ + "photo.fill", "heart.fill", "star.fill", "bookmark.fill", + "flag.fill", "bell.fill", "tag.fill", "paperplane.fill" + ] + private let targetIndices = [2, 5, 3] // 每条胶片最终停止的位置 + + var body: some View { + ZStack { + Color.black.edgesIgnoringSafeArea(.all) + + // 三条胶片带 + FilmStrip( + symbols: symbolNames, + targetIndex: targetIndices[0], + offset: 0, + stripColor: .red + ) + .rotationEffect(.degrees(5)) + .zIndex(1) + + FilmStrip( + symbols: symbolNames, + targetIndex: targetIndices[1], + offset: 0.3, + stripColor: .blue + ) + .rotationEffect(.degrees(-3)) + .zIndex(2) + + FilmStrip( + symbols: symbolNames, + targetIndex: targetIndices[2], + offset: 0.6, + stripColor: .green + ) + .rotationEffect(.degrees(2)) + .zIndex(3) + } + .onAppear { + withAnimation( + .timingCurve(0.2, 0.1, 0.8, 0.9, duration: 4.0) + ) { + animate = true + } + } + } +} + +// 单个胶片带视图 +struct FilmStrip: View { + let symbols: [String] + let targetIndex: Int + let offset: Double + let stripColor: Color + @State private var animate = false + + var body: some View { + GeometryReader { geometry in + let itemWidth: CGFloat = 100 + let spacing: CGFloat = 8 + let totalWidth = itemWidth * CGFloat(symbols.count) + spacing * CGFloat(symbols.count - 1) + + // 胶片背景 + RoundedRectangle(cornerRadius: 10) + .fill(stripColor.opacity(0.8)) + .frame(height: 160) + .overlay( + // 胶片齿孔 + HStack(spacing: spacing) { + ForEach(0.. CGFloat { + let baseDistance: CGFloat = 1000 + let speedFactor: CGFloat = 1.0 + + return baseDistance * speedFactor * progressCurve() + } + + // 中间正胶卷偏移量计算(向左移动) + private func calculateMiddleOffset() -> CGFloat { + let baseDistance: CGFloat = -1100 + let speedFactor: CGFloat = 1.05 + + return baseDistance * speedFactor * progressCurve() + } + + // 下方倾斜胶卷偏移量计算(向右移动) + private func calculateBottomOffset() -> CGFloat { + let baseDistance: CGFloat = 1000 + let speedFactor: CGFloat = 0.95 + + return baseDistance * speedFactor * progressCurve() + } + + // 动画曲线:先慢后快,最后卡顿 + private func progressCurve() -> CGFloat { + if animationProgress < 0.6 { + // 初期加速阶段 + return easeInQuad(animationProgress / 0.6) * 0.7 + } else if animationProgress < 0.85 { + // 高速移动阶段 + return 0.7 + easeOutQuad((animationProgress - 0.6) / 0.25) * 0.25 + } else { + // 卡顿阶段 + let t = (animationProgress - 0.85) / 0.15 + return 0.95 + t * 0.05 + } + } + + // 缓入曲线 + private func easeInQuad(_ t: CGFloat) -> CGFloat { + return t * t + } + + // 缓出曲线 + private func easeOutQuad(_ t: CGFloat) -> CGFloat { + return t * (2 - t) + } + + // 启动动画序列 + private func startAnimation() { + // 第一阶段:逐渐加速 + withAnimation(.easeIn(duration: 3.5)) { + animationProgress = 0.6 + } + + // 第二阶段:高速移动 + DispatchQueue.main.asyncAfter(deadline: .now() + 3.5) { + withAnimation(.linear(duration: 2.5)) { + animationProgress = 0.85 + } + + // 第三阶段:卡顿效果 + DispatchQueue.main.asyncAfter(deadline: .now() + 2.5) { + withAnimation(.easeOut(duration: 1.8)) { + animationProgress = 1.0 + isCatching = true + } + + // 卡顿后重合消失,显示目标图片 + DispatchQueue.main.asyncAfter(deadline: .now() + 1.8) { + withAnimation(.easeInOut(duration: 0.7)) { + isDisappearing = true + } + + // 显示重复播放按钮 + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { + withAnimation(.easeInOut(duration: 0.3)) { + showReplayButton = true + } + } + } + } + } + } +} + +// 电影胶卷视图组件 +struct FilmReelView1: View { + let images: [String] + + var body: some View { + HStack(spacing: 10) { + ForEach(images.indices, id: \.self) { index in + ZStack { + // 胶卷边框 + RoundedRectangle(cornerRadius: 4) + .stroke(Color.gray, lineWidth: 2) + .background(Color(red: 0.15, green: 0.15, blue: 0.15)) + + // 图片内容 + Rectangle() + .fill( + LinearGradient( + gradient: Gradient(colors: [.blue, .indigo]), + startPoint: .topLeading, + endPoint: .bottomTrailing + ) + ) + .opacity(0.9) + .cornerRadius(2) + .padding(2) + + // 模拟图片文本 + Text("\(images[index])") + .foregroundColor(.white) + .font(.caption2) + } + .frame(width: 90, height: 130) + // 胶卷孔洞 + .overlay( + HStack { + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + Spacer() + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + } + ) + } + } + } +} + +// 预览 +struct ReplayableFilmReelAnimation_Previews: PreviewProvider { + static var previews: some View { + ReplayableFilmReelAnimation() + } +} + \ No newline at end of file diff --git a/wake/View/Blind/Box3.swift b/wake/View/Blind/Box3.swift new file mode 100644 index 0000000..c482278 --- /dev/null +++ b/wake/View/Blind/Box3.swift @@ -0,0 +1,226 @@ +import SwiftUI + +struct FilmAnimation1: View { + // 设备尺寸 + private let deviceWidth = UIScreen.main.bounds.width + private let deviceHeight = UIScreen.main.bounds.height + + // 动画状态控制 + @State private var animationProgress: CGFloat = 0.0 // 0-1总进度 + @State private var isAnimating: Bool = false + @State private var animationComplete: Bool = false + + // 胶卷数据 + private let reelImages: [[String]] = [ + (0..<150).map { "film1-\($0+1)" }, // 上方胶卷 + (0..<180).map { "film2-\($0+1)" }, // 中间胶卷(垂直) + (0..<150).map { "film3-\($0+1)" } // 下方胶卷 + ] + + // 胶卷参数 + private let frameWidth: CGFloat = 90 + private let frameHeight: CGFloat = 130 + private let frameSpacing: CGFloat = 10 + private let totalDistance: CGFloat = 2000 // 总移动距离 + + // 动画时间参数 + private let accelerationDuration: Double = 5.0 // 加速阶段时长(0-5s) + private let constantSpeedDuration: Double = 6.0 // 匀速+放大阶段时长(5-11s) + private var totalDuration: Double { accelerationDuration + constantSpeedDuration } + private var scaleStartProgress: CGFloat { accelerationDuration / totalDuration } + private let finalScale: CGFloat = 3.0 // 展示完整胶片的缩放比例 + + // 对称布局核心参数(重点调整) + private let symmetricTiltAngle: Double = 8 // 减小倾斜角度,增强对称感 + private let verticalOffset: CGFloat = 140 // 减小垂直距离,靠近中间胶卷 + private let initialMiddleY: CGFloat = 50 // 中间胶卷初始位置上移,缩短与上下距离 + + // 上下胶卷与中间胶卷的初始水平偏移(确保视觉对称) + private let horizontalOffset: CGFloat = 30 + + var body: some View { + ZStack { + // 深色背景 + Color(red: 0.08, green: 0.08, blue: 0.08) + .edgesIgnoringSafeArea(.all) + + // 上方倾斜胶卷(左高右低,与中间距离适中) + FilmReelView3(images: reelImages[0]) + .rotationEffect(Angle(degrees: -symmetricTiltAngle)) + .offset(x: topReelPosition - horizontalOffset, y: -verticalOffset) // 水平微调增强对称 + .opacity(upperLowerOpacity) + .zIndex(1) + + // 下方倾斜胶卷(左低右高,与中间距离适中) + FilmReelView3(images: reelImages[2]) + .rotationEffect(Angle(degrees: symmetricTiltAngle)) + .offset(x: bottomReelPosition + horizontalOffset, y: verticalOffset) // 水平微调增强对称 + .opacity(upperLowerOpacity) + .zIndex(1) + + // 中间胶卷(垂直居中) + FilmReelView3(images: reelImages[1]) + .offset(x: middleReelPosition, y: middleYPosition) + .scaleEffect(currentScale) + .position(centerPosition) + .zIndex(2) + .edgesIgnoringSafeArea(.all) + } + .onAppear { + startAnimation() + } + } + + // MARK: - 动画逻辑 + + private func startAnimation() { + guard !isAnimating && !animationComplete else { return } + isAnimating = true + + withAnimation(Animation.timingCurve(0.2, 0.0, 0.8, 1.0, duration: totalDuration)) { + animationProgress = 1.0 + } + + DispatchQueue.main.asyncAfter(deadline: .now() + totalDuration) { + isAnimating = false + animationComplete = true + } + } + + // MARK: - 动画计算 + + private var currentScale: CGFloat { + guard animationProgress >= scaleStartProgress else { + return 1.0 + } + + let scalePhaseProgress = (animationProgress - scaleStartProgress) / (1.0 - scaleStartProgress) + return 1.0 + (finalScale - 1.0) * scalePhaseProgress + } + + // 中间胶卷Y轴位置(微调至更居中) + private var middleYPosition: CGFloat { + if animationProgress < scaleStartProgress { + return initialMiddleY - (initialMiddleY * (animationProgress / scaleStartProgress)) + } else { + return 0 // 5s后精准居中 + } + } + + private var upperLowerOpacity: Double { + if animationProgress < scaleStartProgress { + return 0.8 + } else { + let fadeProgress = (animationProgress - scaleStartProgress) / (1.0 - scaleStartProgress) + return 0.8 * (1.0 - fadeProgress) + } + } + + private var centerPosition: CGPoint { + CGPoint(x: deviceWidth / 2, y: deviceHeight / 2) + } + + // MARK: - 位置计算(确保对称运动) + + private var motionProgress: CGFloat { + if animationProgress < scaleStartProgress { + let t = animationProgress / scaleStartProgress + return t * t // 加速阶段 + } else { + return 1.0 + (animationProgress - scaleStartProgress) * + (scaleStartProgress / (1.0 - scaleStartProgress)) + } + } + + // 上方胶卷位置(与下方保持对称速度) + private var topReelPosition: CGFloat { + totalDistance * 0.9 * motionProgress + } + + // 中间胶卷位置(主视觉移动) + private var middleReelPosition: CGFloat { + -totalDistance * 1.2 * motionProgress + } + + // 下方胶卷位置(与上方保持对称速度) + private var bottomReelPosition: CGFloat { + totalDistance * 0.9 * motionProgress // 与上方速度完全一致 + } +} + +// MARK: - 胶卷组件 + +struct FilmReelView3: View { + let images: [String] + + var body: some View { + HStack(spacing: 10) { + ForEach(images.indices, id: \.self) { index in + FilmFrameView3(imageName: images[index]) + } + } + } +} + +struct FilmFrameView3: View { + let imageName: String + + var body: some View { + ZStack { + // 胶卷边框 + RoundedRectangle(cornerRadius: 4) + .stroke(Color.gray, lineWidth: 2) + .background(Color(red: 0.15, green: 0.15, blue: 0.15)) + + // 帧内容 + Rectangle() + .fill(gradientColor) + .cornerRadius(2) + .padding(2) + + // 帧标识 + Text(imageName) + .foregroundColor(.white) + .font(.caption2) + } + .frame(width: 90, height: 130) + // 胶卷孔洞 + .overlay( + HStack { + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + Spacer() + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + } + ) + } + + private var gradientColor: LinearGradient { + if imageName.hasPrefix("film1") { + return LinearGradient(gradient: Gradient(colors: [.blue, .indigo]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else if imageName.hasPrefix("film2") { + return LinearGradient(gradient: Gradient(colors: [.yellow, .orange]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else { + return LinearGradient(gradient: Gradient(colors: [.teal, .cyan]), startPoint: .topLeading, endPoint: .bottomTrailing) + } + } +} + +// 预览 +struct FilmAnimation_Previews3: PreviewProvider { + static var previews: some View { + FilmAnimation1() + } +} + \ No newline at end of file diff --git a/wake/View/Blind/Box4.swift b/wake/View/Blind/Box4.swift new file mode 100644 index 0000000..0ef9004 --- /dev/null +++ b/wake/View/Blind/Box4.swift @@ -0,0 +1,140 @@ +import SwiftUI + +// MARK: - 主视图:电影胶卷盲盒动效 +struct FilmStripBlindBoxView: View { + @State private var isAnimating = false + @State private var revealCenter = false + + // 三格盲盒内容(使用 SF Symbols 模拟不同“隐藏款”) + let boxContents = ["popcorn", "star", "music.note"] + + var body: some View { + GeometryReader { geometry in + let width = geometry.size.width + + ZStack { + // 左边盲盒胶卷帧 + BlindBoxFrame(symbol: boxContents[0]) + .offset(x: isAnimating ? -width / 4 : -width) + .opacity(isAnimating ? 1 : 0) + + // 中间盲盒胶卷帧(最终放大) + BlindBoxFrame(symbol: boxContents[1]) + .scaleEffect(revealCenter ? 1.6 : 1) + .offset(x: isAnimating ? 0 : width) + .opacity(isAnimating ? 1 : 0) + + // 右边盲盒胶卷帧 + BlindBoxFrame(symbol: boxContents[2]) + .offset(x: isAnimating ? width / 4 : width * 1.5) + .opacity(isAnimating ? 1 : 0) + } + .onAppear { + // 第一阶段:胶卷滑入 + withAnimation(.easeOut(duration: 1.0)) { + isAnimating = true + } + + // 第二阶段:中间帧“开盒”放大 + DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) { + withAnimation( + .interpolatingSpring(stiffness: 80, damping: 12).delay(0.3) + ) { + revealCenter = true + } + } + } + } + .frame(height: 140) + .padding() + .background(Color.black.opacity(0.05)) + } +} + +// MARK: - 盲盒胶卷帧:带孔 + 橙色背景 + SF Symbol +struct BlindBoxFrame: View { + let symbol: String + + var body: some View { + ZStack { + // 胶片边框(橙色 + 打孔) + FilmBorder() + + // SF Symbol 作为“盲盒内容” + Image(systemName: symbol) + .resizable() + .scaledToFit() + .foregroundColor(.white.opacity(0.85)) + .frame(width: 60, height: 60) + } + .frame(width: 120, height: 120) + } +} + +// MARK: - 胶片边框:#FFB645 背景 + 打孔 +struct FilmBorder: View { + var body: some View { + Canvas { context, size in + let w = size.width + let h = size.height + + // 背景色:FFB645 + let bgColor = Color(hex: 0xFFB645) + context.fill(Path(CGRect(origin: .zero, size: size)), with: .color(bgColor)) + + // 打孔参数 + let holeRadius: CGFloat = 3.5 + let margin: CGFloat = 12 + let holeYOffset: CGFloat = h * 0.25 + + // 左侧打孔(3个) + for i in 0..<3 { + let y = CGFloat(i + 1) * (h / 4) + context.fill( + Path(ellipseIn: CGRect( + x: margin - holeRadius * 2, + y: y - holeRadius, + width: holeRadius * 2, + height: holeRadius * 2 + )), + with: .color(.black) + ) + } + + // 右侧打孔(3个) + for i in 0..<3 { + let y = CGFloat(i + 1) * (h / 4) + context.fill( + Path(ellipseIn: CGRect( + x: w - margin, + y: y - holeRadius, + width: holeRadius * 2, + height: holeRadius * 2 + )), + with: .color(.black) + ) + } + } + } +} + +// MARK: - Color 扩展:支持 HEX 颜色 +extension Color { + init(hex: UInt) { + self.init( + .sRGB, + red: Double((hex >> 16) & 0xff) / 255, + green: Double((hex >> 8) & 0xff) / 255, + blue: Double(hex & 0xff) / 255, + opacity: 1.0 + ) + } +} + +// MARK: - 预览 +struct FilmStripBlindBoxView_Previews: PreviewProvider { + static var previews: some View { + FilmStripBlindBoxView() + .preferredColorScheme(.dark) + } +} \ No newline at end of file diff --git a/wake/View/Blind/Box5.swift b/wake/View/Blind/Box5.swift new file mode 100644 index 0000000..93dd160 --- /dev/null +++ b/wake/View/Blind/Box5.swift @@ -0,0 +1,222 @@ +import SwiftUI + +struct FilmAnimation5: View { + // 设备尺寸 + private let deviceWidth = UIScreen.main.bounds.width + private let deviceHeight = UIScreen.main.bounds.height + + // 动画状态控制 + @State private var animationProgress: CGFloat = 0.0 // 0-1总进度 + @State private var isAnimating: Bool = false + @State private var animationComplete: Bool = false + + // 胶卷数据 + private let reelImages: [[String]] = [ + (0..<150).map { "film1-\($0+1)" }, // 上方倾斜胶卷 + (0..<180).map { "film2-\($0+1)" }, // 中间胶卷 + (0..<150).map { "film3-\($0+1)" } // 下方倾斜胶卷 + ] + + // 胶卷参数 + private let frameWidth: CGFloat = 90 + private let frameHeight: CGFloat = 130 + private let totalDistance: CGFloat = 1800 // 总移动距离 + + // 动画阶段时间参数(核心调整) + private let accelerationDuration: Double = 5.0 // 0-5s加速 + private let constantSpeedDuration: Double = 1.0 // 5-6s匀速移动 + private let scaleDuration: Double = 2.0 // 6-8s共同放大 + private var totalDuration: Double { accelerationDuration + constantSpeedDuration + scaleDuration } + + // 各阶段进度阈值 + private var accelerationEnd: CGFloat { accelerationDuration / totalDuration } + private var constantSpeedEnd: CGFloat { (accelerationDuration + constantSpeedDuration) / totalDuration } + + // 对称倾斜参数 + private let symmetricTiltAngle: Double = 10 // 上下胶卷对称倾斜角度 + private let verticalOffset: CGFloat = 120 // 上下胶卷垂直距离(对称) + private let finalScale: CGFloat = 4.0 // 最终放大倍数 + + var body: some View { + ZStack { + // 深色背景 + Color(red: 0.08, green: 0.08, blue: 0.08) + .edgesIgnoringSafeArea(.all) + + // 上方倾斜胶卷(向右移动) + FilmReelView5(images: reelImages[0]) + .rotationEffect(Angle(degrees: -symmetricTiltAngle)) + .offset(x: topReelPosition, y: -verticalOffset) + .scaleEffect(currentScale) + .opacity(upperLowerOpacity) + .zIndex(2) + + // 下方倾斜胶卷(向右移动) + FilmReelView5(images: reelImages[2]) + .rotationEffect(Angle(degrees: symmetricTiltAngle)) + .offset(x: bottomReelPosition, y: verticalOffset) + .scaleEffect(currentScale) + .opacity(upperLowerOpacity) + .zIndex(2) + + // 中间胶卷(向左移动,最终保留) + FilmReelView5(images: reelImages[1]) + .offset(x: middleReelPosition, y: 0) + .scaleEffect(currentScale) + .opacity(1.0) // 始终不透明 + .zIndex(1) + .edgesIgnoringSafeArea(.all) + } + .onAppear { + startAnimation() + } + } + + // MARK: - 动画逻辑 + + private func startAnimation() { + guard !isAnimating && !animationComplete else { return } + isAnimating = true + + // 分阶段动画曲线:先加速后匀速 + withAnimation(Animation.timingCurve(0.3, 0.0, 0.7, 1.0, duration: totalDuration)) { + animationProgress = 1.0 + } + + // 动画结束标记 + DispatchQueue.main.asyncAfter(deadline: .now() + totalDuration) { + isAnimating = false + animationComplete = true + } + } + + // MARK: - 动画计算 + + // 共同放大比例(6s后开始放大) + private var currentScale: CGFloat { + guard animationProgress >= constantSpeedEnd else { + return 1.0 // 前6s保持原尺寸 + } + + // 放大阶段相对进度(0-1) + let scalePhaseProgress = (animationProgress - constantSpeedEnd) / (1.0 - constantSpeedEnd) + return 1.0 + (finalScale - 1.0) * scalePhaseProgress + } + + // 上下胶卷透明度(放大阶段逐渐隐藏) + private var upperLowerOpacity: Double { + guard animationProgress >= constantSpeedEnd else { + return 0.8 // 前6s保持可见 + } + + // 放大阶段同步淡出 + let fadeProgress = (animationProgress - constantSpeedEnd) / (1.0 - constantSpeedEnd) + return 0.8 * (1.0 - fadeProgress) + } + + // MARK: - 移动速度控制(确保匀速阶段速度一致) + + private var motionProgress: CGFloat { + if animationProgress < accelerationEnd { + // 0-5s加速阶段:二次方曲线加速 + let t = animationProgress / accelerationEnd + return t * t + } else { + // 5s后匀速阶段:保持最大速度 + return 1.0 + (animationProgress - accelerationEnd) * + (accelerationEnd / (1.0 - accelerationEnd)) + } + } + + // 上方胶卷位置(向右移动) + private var topReelPosition: CGFloat { + totalDistance * 0.8 * motionProgress + } + + // 中间胶卷位置(向左移动) + private var middleReelPosition: CGFloat { + -totalDistance * 0.8 * motionProgress // 与上下胶卷速度大小相同,方向相反 + } + + // 下方胶卷位置(向右移动) + private var bottomReelPosition: CGFloat { + totalDistance * 0.8 * motionProgress // 与上方胶卷速度完全一致,保持对称 + } +} + +// MARK: - 胶卷组件 + +struct FilmReelView5: View { + let images: [String] + + var body: some View { + HStack(spacing: 10) { + ForEach(images.indices, id: \.self) { index in + FilmFrameView5(imageName: images[index]) + } + } + } +} + +struct FilmFrameView5: View { + let imageName: String + + var body: some View { + ZStack { + // 胶卷边框 + RoundedRectangle(cornerRadius: 4) + .stroke(Color.gray, lineWidth: 2) + .background(Color(red: 0.15, green: 0.15, blue: 0.15)) + + // 帧内容 + Rectangle() + .fill(gradientColor) + .cornerRadius(2) + .padding(2) + + // 帧标识 + Text(imageName) + .foregroundColor(.white) + .font(.caption2) + } + .frame(width: 90, height: 130) + // 胶卷孔洞 + .overlay( + HStack { + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + Spacer() + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + } + ) + } + + private var gradientColor: LinearGradient { + if imageName.hasPrefix("film1") { + return LinearGradient(gradient: Gradient(colors: [.blue, .indigo]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else if imageName.hasPrefix("film2") { + return LinearGradient(gradient: Gradient(colors: [.yellow, .orange]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else { + return LinearGradient(gradient: Gradient(colors: [.teal, .cyan]), startPoint: .topLeading, endPoint: .bottomTrailing) + } + } +} + +// 预览 +struct FilmAnimation_Previews5: PreviewProvider { + static var previews: some View { + FilmAnimation5() + } +} + \ No newline at end of file diff --git a/wake/View/Blind/Box6.swift b/wake/View/Blind/Box6.swift new file mode 100644 index 0000000..5ba1d07 --- /dev/null +++ b/wake/View/Blind/Box6.swift @@ -0,0 +1,250 @@ +import SwiftUI + +struct FilmAnimation: View { + // 设备尺寸 + private let deviceWidth = UIScreen.main.bounds.width + private let deviceHeight = UIScreen.main.bounds.height + + // 动画状态控制 + @State private var animationProgress: CGFloat = 0.0 // 0-1总进度 + @State private var isAnimating: Bool = false + @State private var animationComplete: Bool = false + + // 胶卷数据 + private let reelImages: [[String]] = [ + (0..<300).map { "film1-\($0+1)" }, // 上方胶卷 + (0..<350).map { "film2-\($0+1)" }, // 中间胶卷 + (0..<300).map { "film3-\($0+1)" } // 下方胶卷 + ] + + // 胶卷参数 + private let frameWidth: CGFloat = 90 + private let frameHeight: CGFloat = 130 + private let frameSpacing: CGFloat = 12 + + // 动画阶段时间参数 + private let accelerationDuration: Double = 5.0 // 0-5s加速 + private let constantSpeedDuration: Double = 1.0 // 5-6s匀速 + private let scaleStartDuration: Double = 1.0 // 6-7s共同放大 + private let scaleFinishDuration: Double = 1.0 // 7-8s仅中间胶卷放大 + private var totalDuration: Double { + accelerationDuration + constantSpeedDuration + scaleStartDuration + scaleFinishDuration + } + + // 各阶段进度阈值 + private var accelerationEnd: CGFloat { accelerationDuration / totalDuration } + private var constantSpeedEnd: CGFloat { (accelerationDuration + constantSpeedDuration) / totalDuration } + private var scaleStartEnd: CGFloat { + (accelerationDuration + constantSpeedDuration + scaleStartDuration) / totalDuration + } + + // 布局与运动参数(核心:对称倾斜角度) + private let tiltAngle: Double = 10 // 基础倾斜角度 + private let upperTilt: Double = -10 // 上方胶卷:左高右低(负角度) + private let lowerTilt: Double = 10 // 下方胶卷:左低右高(正角度) + private let verticalSpacing: CGFloat = 200 // 上下胶卷垂直间距 + private let finalScale: CGFloat = 4.5 + + // 移动距离参数 + private let maxTiltedReelMovement: CGFloat = 3500 // 倾斜胶卷最大移动距离 + private let maxMiddleReelMovement: CGFloat = -3000 // 中间胶卷最大移动距离 + + var body: some View { + // 固定背景 + Color(red: 0.08, green: 0.08, blue: 0.08) + .edgesIgnoringSafeArea(.all) + .overlay( + ZStack { + // 上方倾斜胶卷(左高右低,向右移动) + if showTiltedReels { + FilmReelView(images: reelImages[0]) + .rotationEffect(Angle(degrees: upperTilt)) // 左高右低 + .offset(x: upperReelXPosition, y: -verticalSpacing/2) + .scaleEffect(tiltedScale) + .opacity(tiltedOpacity) + .zIndex(1) + } + + // 下方倾斜胶卷(左低右高,向右移动) + if showTiltedReels { + FilmReelView(images: reelImages[2]) + .rotationEffect(Angle(degrees: lowerTilt)) // 左低右高 + .offset(x: lowerReelXPosition, y: verticalSpacing/2) + .scaleEffect(tiltedScale) + .opacity(tiltedOpacity) + .zIndex(1) + } + + // 中间胶卷(垂直,向左移动) + FilmReelView(images: reelImages[1]) + .offset(x: middleReelXPosition, y: 0) + .scaleEffect(middleScale) + .opacity(1.0) + .zIndex(2) + .edgesIgnoringSafeArea(.all) + } + ) + .onAppear { + startAnimation() + } + } + + // MARK: - 动画逻辑 + + private func startAnimation() { + guard !isAnimating && !animationComplete else { return } + isAnimating = true + + withAnimation(Animation.easeInOut(duration: totalDuration)) { + animationProgress = 1.0 + } + + DispatchQueue.main.asyncAfter(deadline: .now() + totalDuration) { + isAnimating = false + animationComplete = true + } + } + + // MARK: - 位置计算(确保向右移动) + + // 上方倾斜胶卷X位置 + private var upperReelXPosition: CGFloat { + let startPosition: CGFloat = -deviceWidth * 1.2 // 左侧屏幕外起始 + return startPosition + (maxTiltedReelMovement * movementProgress) + } + + // 下方倾斜胶卷X位置 + private var lowerReelXPosition: CGFloat { + let startPosition: CGFloat = -deviceWidth * 0.8 // 稍右于上方胶卷起始 + return startPosition + (maxTiltedReelMovement * movementProgress) + } + + // 中间胶卷X位置 + private var middleReelXPosition: CGFloat { + let startPosition: CGFloat = deviceWidth * 0.3 + return startPosition + (maxMiddleReelMovement * movementProgress) + } + + // 移动进度(0-1) + private var movementProgress: CGFloat { + if animationProgress < constantSpeedEnd { + return animationProgress / constantSpeedEnd + } else { + return 1.0 // 6秒后停止移动 + } + } + + // MARK: - 缩放与显示控制 + + // 中间胶卷缩放 + private var middleScale: CGFloat { + guard animationProgress >= constantSpeedEnd else { + return 1.0 + } + + let scalePhaseProgress = (animationProgress - constantSpeedEnd) / (1.0 - constantSpeedEnd) + return 1.0 + (finalScale - 1.0) * scalePhaseProgress + } + + // 倾斜胶卷缩放 + private var tiltedScale: CGFloat { + guard animationProgress >= constantSpeedEnd, animationProgress < scaleStartEnd else { + return 1.0 + } + + let scalePhaseProgress = (animationProgress - constantSpeedEnd) / (scaleStartEnd - constantSpeedEnd) + return 1.0 + (finalScale * 0.6 - 1.0) * scalePhaseProgress + } + + // 倾斜胶卷透明度 + private var tiltedOpacity: Double { + guard animationProgress >= constantSpeedEnd, animationProgress < scaleStartEnd else { + return 0.8 + } + + let fadeProgress = (animationProgress - constantSpeedEnd) / (scaleStartEnd - constantSpeedEnd) + return 0.8 * (1.0 - fadeProgress) + } + + // 控制倾斜胶卷显示 + private var showTiltedReels: Bool { + animationProgress < scaleStartEnd + } +} + +// MARK: - 胶卷组件 + +struct FilmReelView: View { + let images: [String] + + var body: some View { + HStack(spacing: 12) { + ForEach(images.indices, id: \.self) { index in + FilmFrameView(imageName: images[index]) + } + } + } +} + +struct FilmFrameView: View { + let imageName: String + + var body: some View { + ZStack { + // 胶卷边框 + RoundedRectangle(cornerRadius: 4) + .stroke(Color.gray, lineWidth: 2) + .background(Color(red: 0.15, green: 0.15, blue: 0.15)) + + // 帧内容 + Rectangle() + .fill(gradientColor) + .cornerRadius(2) + .padding(2) + + // 帧标识 + Text(imageName) + .foregroundColor(.white) + .font(.caption2) + } + .frame(width: 90, height: 130) + // 胶卷孔洞 + .overlay( + HStack { + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + Spacer() + VStack(spacing: 6) { + ForEach(0..<6) { _ in + Circle() + .frame(width: 6, height: 6) + .foregroundColor(.gray) + } + } + } + ) + } + + private var gradientColor: LinearGradient { + if imageName.hasPrefix("film1") { + return LinearGradient(gradient: Gradient(colors: [.blue, .indigo]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else if imageName.hasPrefix("film2") { + return LinearGradient(gradient: Gradient(colors: [.yellow, .orange]), startPoint: .topLeading, endPoint: .bottomTrailing) + } else { + return LinearGradient(gradient: Gradient(colors: [.purple, .pink]), startPoint: .topLeading, endPoint: .bottomTrailing) + } + } +} + +// 预览 +struct FilmAnimation_Previews: PreviewProvider { + static var previews: some View { + FilmAnimation() + } +} + diff --git a/wake/View/Welcome/SplashView.swift b/wake/View/Welcome/SplashView.swift index c81fbb6..463e6c4 100644 --- a/wake/View/Welcome/SplashView.swift +++ b/wake/View/Welcome/SplashView.swift @@ -19,57 +19,7 @@ struct SplashView: View { ) .edgesIgnoringSafeArea(.all) VStack(spacing: 50) { - Spacer() - // 欢迎文字动画 - Text("Welcome") - .font(.system(size: 40, weight: .bold, design: .rounded)) - .foregroundColor(.primary) - .scaleEffect(isAnimating ? 1.1 : 0.9) - .opacity(isAnimating ? 1 : 0.3) - .animation( - .easeInOut(duration: 1.5) - .repeatForever(autoreverses: true), - value: isAnimating - ) - - // 动画图标 - Image(systemName: "moon.stars.fill") - .font(.system(size: 120)) - .foregroundColor(.accentColor) - .rotationEffect(.degrees(isAnimating ? 360 : 0)) - .scaleEffect(isAnimating ? 1.2 : 0.8) - .animation( - .easeInOut(duration: 2) - .repeatForever(autoreverses: true), - value: isAnimating - ) - - Spacer() - - // 圆形按钮 - Button(action: { - withAnimation { - showLogin = true - } - }) { - Image(systemName: "arrow.right") - .font(.title) - .foregroundColor(.white) - .frame(width: 140, height: 140) - .background( - Circle() - .fill(Color.accentColor.opacity(0.7)) // 80% opacity - .shadow(radius: 10) - ) - } - .padding(.bottom, 40) - .background( - NavigationLink(destination: LoginView().environmentObject(authState), isActive: $showLogin) { - EmptyView() - } - .hidden() - ) - Spacer() + FilmAnimation() } .padding() } diff --git a/wake/WakeApp.swift b/wake/WakeApp.swift index f603882..baf704e 100644 --- a/wake/WakeApp.swift +++ b/wake/WakeApp.swift @@ -36,10 +36,10 @@ struct WakeApp: App { // 显示启动页 SplashView() .environmentObject(authState) - .onAppear { - // 启动页显示时检查token有效性 - checkTokenValidity() - } + // .onAppear { + // // 启动页显示时检查token有效性 + // checkTokenValidity() + // } } else { // 根据登录状态显示不同视图 if authState.isAuthenticated { @@ -55,14 +55,14 @@ struct WakeApp: App { } } } - .onAppear { - //3秒后自动隐藏启动页 - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - withAnimation { - showSplash = false - } - } - } + // .onAppear { + // //3秒后自动隐藏启动页 + // DispatchQueue.main.asyncAfter(deadline: .now() + 3) { + // withAnimation { + // showSplash = false + // } + // } + // } } .modelContainer(container) } @@ -93,10 +93,10 @@ struct WakeApp: App { } // 3秒后自动隐藏启动页 - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - withAnimation { - showSplash = false - } - } + // DispatchQueue.main.asyncAfter(deadline: .now() + 3) { + // withAnimation { + // showSplash = false + // } + // } } } \ No newline at end of file