diff --git a/lib/src/core/animation/canvas/ascii_canvas_painter.dart b/lib/src/core/animation/canvas/ascii_canvas_painter.dart index 53167e0..37dd4a5 100644 --- a/lib/src/core/animation/canvas/ascii_canvas_painter.dart +++ b/lib/src/core/animation/canvas/ascii_canvas_painter.dart @@ -43,6 +43,7 @@ class AsciiCanvasPainter extends CustomPainter { this.gridWidth = 60, this.gridHeight = 8, this.backgroundColor = AsciiColors.background, + this.backgroundOpacity = 0.5, this.layerVersion = 0, }); @@ -58,6 +59,9 @@ class AsciiCanvasPainter extends CustomPainter { /// 배경색 final Color backgroundColor; + /// 배경 투명도 (0.0 ~ 1.0, 기본값 0.5 = 50%) + final double backgroundOpacity; + /// 레이어 버전 (변경 감지용) final int layerVersion; @@ -83,10 +87,10 @@ class AsciiCanvasPainter extends CustomPainter { _lastFontSize = fontSize; } - // 2. 배경 채우기 + // 2. 배경 채우기 (투명도 적용) canvas.drawRect( Rect.fromLTWH(0, 0, size.width, size.height), - Paint()..color = backgroundColor, + Paint()..color = backgroundColor.withValues(alpha: backgroundOpacity), ); // 3. 레이어별 렌더링 (z-order 순) diff --git a/lib/src/core/animation/canvas/ascii_canvas_widget.dart b/lib/src/core/animation/canvas/ascii_canvas_widget.dart index 8c78e06..ce6ea06 100644 --- a/lib/src/core/animation/canvas/ascii_canvas_widget.dart +++ b/lib/src/core/animation/canvas/ascii_canvas_widget.dart @@ -13,6 +13,7 @@ class AsciiCanvasWidget extends StatelessWidget { required this.layers, this.gridWidth = 60, this.gridHeight = 8, + this.backgroundOpacity = 0.5, this.isAnimating = true, this.layerVersion = 0, }); @@ -26,6 +27,9 @@ class AsciiCanvasWidget extends StatelessWidget { /// 그리드 높이 (행 수) final int gridHeight; + /// 배경 투명도 (0.0 ~ 1.0, 기본값 0.5 = 50%) + final double backgroundOpacity; + /// 애니메이션 활성 상태 (willChange 최적화용) final bool isAnimating; @@ -40,6 +44,7 @@ class AsciiCanvasWidget extends StatelessWidget { layers: layers, gridWidth: gridWidth, gridHeight: gridHeight, + backgroundOpacity: backgroundOpacity, layerVersion: layerVersion, ), size: Size.infinite, diff --git a/lib/src/features/game/widgets/cinematic_view.dart b/lib/src/features/game/widgets/cinematic_view.dart index 662720f..a46763d 100644 --- a/lib/src/features/game/widgets/cinematic_view.dart +++ b/lib/src/features/game/widgets/cinematic_view.dart @@ -128,9 +128,9 @@ class _CinematicViewState extends State _AsciiArtDisplay(asciiArt: step.asciiArt!), const SizedBox(height: 24), ], - // 텍스트 + // 텍스트 (l10n 적용) Text( - step.text, + l10n.translateCinematic(step.text), style: const TextStyle( color: Colors.white, fontSize: 18,