From 1dd385e1b5a2963d0877513819a4f403586aad2d Mon Sep 17 00:00:00 2001 From: Nikoyaka9dd Date: Sun, 17 Aug 2025 12:00:09 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=95=E3=83=AA=E3=82=AF?= =?UTF-8?q?=E3=83=88=E7=99=BA=E7=94=9F=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/view/index.tsx | 2 +- components/NeonCamera.tsx | 52 +++++++++++++++++++++------------------ 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/view/index.tsx b/app/view/index.tsx index 3d04789..8f6f865 100644 --- a/app/view/index.tsx +++ b/app/view/index.tsx @@ -316,7 +316,7 @@ const ViewPage: React.FC = () => { {/* アニメーション付き紫ネオン星エフェクト - 写真エリアを避けて配置 */} {starConfigs.map((config, index) => ( + //biome-ignore lint/suspicious/noArrayindex: key={`star-${index}`} style={[ styles.neonStar, diff --git a/components/NeonCamera.tsx b/components/NeonCamera.tsx index 6d52f62..49e8f68 100644 --- a/components/NeonCamera.tsx +++ b/components/NeonCamera.tsx @@ -29,7 +29,7 @@ export default function NeonCamera() { const [pulseAnim] = useState(() => new Animated.Value(1)); const [strobeOpacity] = useState(() => new Animated.Value(0)); const [glowAnim] = useState(() => new Animated.Value(0)); - + // フレーム回転用のアニメーション値 const [outerRotation] = useState(() => new Animated.Value(0)); const [innerRotation] = useState(() => new Animated.Value(0)); @@ -208,7 +208,14 @@ export default function NeonCamera() { return () => { starAnimation.stop(); }; - }, [pulseAnim, glowAnim, outerRotation, innerRotation, sparkleAnimValues, floatAnimValues]); + }, [ + pulseAnim, + glowAnim, + outerRotation, + innerRotation, + sparkleAnimValues, + floatAnimValues, + ]); // ストロボエフェクト useEffect(() => { @@ -327,10 +334,7 @@ export default function NeonCamera() { カメラへのアクセス許可が必要です - + 許可する @@ -510,14 +514,14 @@ export default function NeonCamera() { { rotate: outerRotation.interpolate({ inputRange: [0, 1], - outputRange: ['0deg', '360deg'], + outputRange: ["0deg", "360deg"], }), }, ], }, ]} /> - + {/* 内の円(左回り5秒) */} 🔄 - + router.push("/debug")} @@ -631,15 +635,15 @@ const styles = StyleSheet.create({ }, neonFrame: { position: "absolute", - justifyContent: 'center', - alignItems: 'center', + justifyContent: "center", + alignItems: "center", }, outerCircle: { - position: 'absolute', + position: "absolute", borderWidth: 3, - borderColor: '#ff00ff', - borderStyle: 'dashed', - backgroundColor: 'transparent', + borderColor: "#ff00ff", + borderStyle: "dashed", + backgroundColor: "transparent", shadowColor: "#ff00ff", shadowOffset: { width: 0, @@ -650,11 +654,11 @@ const styles = StyleSheet.create({ elevation: 10, }, innerCircle: { - position: 'absolute', + position: "absolute", borderWidth: 2, - borderColor: '#00ffff', - borderStyle: 'dashed', - backgroundColor: 'transparent', + borderColor: "#00ffff", + borderStyle: "dashed", + backgroundColor: "transparent", shadowColor: "#00ffff", shadowOffset: { width: 0, @@ -742,8 +746,8 @@ const styles = StyleSheet.create({ elevation: 10, width: 50, height: 50, - alignItems: 'center', - justifyContent: 'center', + alignItems: "center", + justifyContent: "center", }, neonButtonInner: { backgroundColor: "#000", @@ -783,8 +787,8 @@ const styles = StyleSheet.create({ hiddenDebugStar: { width: 24, height: 24, - alignItems: 'center', - justifyContent: 'center', + alignItems: "center", + justifyContent: "center", }, debugStarShape: { width: 20,