Polish up responsive Wonder layouts

Adjust graphics within illustration widgets, Revise paint texture use, Update graphics for wonders and collectible search, Clean out extra scale factor images.
This commit is contained in:
Jared Bell 2022-11-30 01:53:33 -07:00
parent 38bff5eaa3
commit 8ef645bf52
54 changed files with 104 additions and 93 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

BIN
assets/images/machu_picchu/2.0x/machu-picchu.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 426 KiB

BIN
assets/images/machu_picchu/3.0x/machu-picchu.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

After

Width:  |  Height:  |  Size: 896 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

BIN
assets/images/machu_picchu/machu-picchu.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
assets/images/pyramids/2.0x/foreground-back.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 46 KiB

BIN
assets/images/pyramids/3.0x/foreground-back.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 127 KiB

BIN
assets/images/pyramids/foreground-back.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -27,18 +27,19 @@ class ChichenItzaIllustration extends StatelessWidget {
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller2, ImagePaths.roller2,
color: Colors.white, color: Color(0xffDC762A),
opacity: anim.drive(Tween(begin: 0, end: .5)), opacity: anim.drive(Tween(begin: 0, end: .5)),
flipY: true, flipY: true,
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .25, heightFactor: .4,
minHeight: 200, minHeight: 200,
fractionalOffset: Offset(1, config.shortMode ? 0 : -.5), fractionalOffset: Offset(.55, config.shortMode ? -.1 : -.35),
), ),
]; ];
} }
@ -47,12 +48,12 @@ class ChichenItzaIllustration extends StatelessWidget {
// We want to size to the shortest side // We want to size to the shortest side
return [ return [
Transform.translate( Transform.translate(
offset: Offset(0, 20), offset: Offset(0, config.shortMode ? 40 : -30),
child: IllustrationPiece( child: IllustrationPiece(
fileName: 'chichen.png', fileName: 'chichen.png',
heightFactor: .55, heightFactor: .45,
minHeight: 400, minHeight: 300,
zoomAmt: .05, zoomAmt: -.1,
enableHero: true, enableHero: true,
), ),
), ),
@ -67,7 +68,7 @@ class ChichenItzaIllustration extends StatelessWidget {
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
initialScale: .95, initialScale: .95,
heightFactor: .4, heightFactor: .4,
fractionalOffset: Offset(.35, -.1), fractionalOffset: Offset(.5, -.1),
zoomAmt: .1, zoomAmt: .1,
dynamicHzOffset: 250, dynamicHzOffset: 250,
), ),
@ -77,7 +78,7 @@ class ChichenItzaIllustration extends StatelessWidget {
initialScale: .9, initialScale: .9,
initialOffset: Offset(-40, 60), initialOffset: Offset(-40, 60),
heightFactor: .65, heightFactor: .65,
fractionalOffset: Offset(-.45, .2), fractionalOffset: Offset(-.4, .2),
zoomAmt: .25, zoomAmt: .25,
dynamicHzOffset: -250, dynamicHzOffset: -250,
), ),
@ -86,9 +87,9 @@ class ChichenItzaIllustration extends StatelessWidget {
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
initialScale: .9, initialScale: .9,
initialOffset: Offset(-40, 60), initialOffset: Offset(-40, 60),
heightFactor: .75, heightFactor: .65,
fractionalOffset: Offset(-.4, -.3), fractionalOffset: Offset(-.4, -.4),
zoomAmt: .25, zoomAmt: .05,
dynamicHzOffset: 100, dynamicHzOffset: 100,
), ),
IllustrationPiece( IllustrationPiece(
@ -96,9 +97,9 @@ class ChichenItzaIllustration extends StatelessWidget {
alignment: Alignment.topRight, alignment: Alignment.topRight,
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
initialScale: .95, initialScale: .95,
heightFactor: .85, heightFactor: .65,
fractionalOffset: Offset(.35, -.4), fractionalOffset: Offset(.35, -.4),
zoomAmt: .1, zoomAmt: .05,
dynamicHzOffset: -100, dynamicHzOffset: -100,
), ),
]; ];

View File

@ -28,18 +28,19 @@ class ChristRedeemerIllustration extends StatelessWidget {
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller1, ImagePaths.roller1,
color: Colors.white, color: Color(0xffFAE5C8),
flipX: false, flipX: false,
opacity: anim.drive(Tween(begin: 0, end: .4)), opacity: anim.drive(Tween(begin: 0, end: .8)),
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .2, heightFactor: .25,
minHeight: 120, minHeight: 120,
fractionalOffset: Offset(.5, -1), fractionalOffset: Offset(.7, config.shortMode ? -.5 : -1.35),
), ),
]; ];
} }
@ -51,8 +52,8 @@ class ChristRedeemerIllustration extends StatelessWidget {
enableHero: true, enableHero: true,
heightFactor: 1, heightFactor: 1,
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
fractionalOffset: Offset(0, .1), fractionalOffset: Offset(0, config.shortMode ? .5 : .1),
zoomAmt: .1, zoomAmt: .7,
) )
// //
]; ];
@ -63,21 +64,21 @@ class ChristRedeemerIllustration extends StatelessWidget {
IllustrationPiece( IllustrationPiece(
fileName: 'foreground-left.png', fileName: 'foreground-left.png',
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialScale: .9, initialScale: .95,
initialOffset: Offset(-40, 60), initialOffset: Offset(-140, 60),
heightFactor: .55, heightFactor: .65,
fractionalOffset: Offset(-.15, .05), fractionalOffset: Offset(-.25, .05),
zoomAmt: .1, zoomAmt: .15,
dynamicHzOffset: -100, dynamicHzOffset: -100,
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'foreground-right.png', fileName: 'foreground-right.png',
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialOffset: Offset(20, 40), initialOffset: Offset(120, 40),
initialScale: .95, initialScale: .9,
heightFactor: .65, heightFactor: .55,
fractionalOffset: Offset(.2, 0), fractionalOffset: Offset(.35, .2),
zoomAmt: .15, zoomAmt: .1,
dynamicHzOffset: 100, dynamicHzOffset: 100,
), ),
]; ];

View File

@ -30,32 +30,30 @@ class ColosseumIllustration extends StatelessWidget {
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller1, ImagePaths.roller1,
color: Colors.white, color: Colors.white,
opacity: anim.drive(Tween(begin: 0, end: .5)), opacity: anim.drive(Tween(begin: 0, end: .75)),
scale: config.shortMode ? 4 : 1,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .15, heightFactor: config.shortMode ? .25 : .25,
minHeight: 150, minHeight: 100,
offset: config.shortMode ? Offset(70, context.heightPx * -.05) : Offset(50, context.heightPx * -.25), offset: config.shortMode ? Offset(50, context.heightPx * -.07) : Offset(80, context.heightPx * -.28),
), ),
]; ];
} }
List<Widget> _buildMg(BuildContext context, Animation<double> anim) { List<Widget> _buildMg(BuildContext context, Animation<double> anim) {
return [ return [
Stack(
children: const [
IllustrationPiece( IllustrationPiece(
fileName: 'colosseum.png', fileName: 'colosseum.png',
enableHero: true, enableHero: true,
heightFactor: .55, heightFactor: .6,
minHeight: 400, minHeight: 200,
zoomAmt: .15, zoomAmt: .15,
), fractionalOffset: Offset(0, config.shortMode ? .10: -.1),
],
) )
]; ];
} }
@ -70,7 +68,7 @@ class ColosseumIllustration extends StatelessWidget {
heightFactor: .65, heightFactor: .65,
offset: Offset.zero, offset: Offset.zero,
fractionalOffset: Offset(-.5, .1), fractionalOffset: Offset(-.5, .1),
zoomAmt: .25, zoomAmt: .05,
dynamicHzOffset: -150, dynamicHzOffset: -150,
), ),
IllustrationPiece( IllustrationPiece(
@ -80,7 +78,7 @@ class ColosseumIllustration extends StatelessWidget {
initialScale: .95, initialScale: .95,
heightFactor: .75, heightFactor: .75,
fractionalOffset: Offset(.5, .25), fractionalOffset: Offset(.5, .25),
zoomAmt: .1, zoomAmt: .05,
dynamicHzOffset: 150, dynamicHzOffset: 150,
), ),
]; ];

View File

@ -18,7 +18,7 @@ class IllustrationTexture extends StatelessWidget {
child: Transform.scale( child: Transform.scale(
scaleX: scale * (flipX ? -1 : 1), scaleX: scale * (flipX ? -1 : 1),
scaleY: scale * (flipY ? -1 : 1), scaleY: scale * (flipY ? -1 : 1),
child: Image.asset(path, fit: BoxFit.cover, color: color, opacity: opacity, cacheWidth: 1024)), child: Image.asset(path, repeat: ImageRepeat.repeat, fit: BoxFit.contain, alignment: Alignment.topCenter, color: color, opacity: opacity, cacheWidth: 2048)),
), ),
); );
} }

View File

@ -30,17 +30,18 @@ class GreatWallIllustration extends StatelessWidget {
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller2, ImagePaths.roller2,
flipX: true, flipX: true,
color: Colors.white, color: Color(0xff688750),
opacity: anim.drive(Tween(begin: 0, end: .5)), opacity: anim.drive(Tween(begin: 0, end: 1)),
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .15, heightFactor: config.shortMode ? .05 : .25,
minHeight: 150, minHeight: 150,
offset: config.shortMode ? Offset(-70, context.heightPx * -.05) : Offset(-150, context.heightPx * -.25), offset: config.shortMode ? Offset(-40, context.heightPx * -.06) : Offset(-75, context.heightPx * -.3),
), ),
]; ];
} }
@ -49,10 +50,11 @@ class GreatWallIllustration extends StatelessWidget {
return [ return [
IllustrationPiece( IllustrationPiece(
fileName: 'great-wall.png', fileName: 'great-wall.png',
heightFactor: .55, heightFactor: .65,
minHeight: 500, minHeight: 400,
zoomAmt: .05, zoomAmt: .05,
enableHero: true, enableHero: true,
fractionalOffset: Offset(0, config.shortMode ? 0: -.1),
), ),
]; ];
} }
@ -64,7 +66,7 @@ class GreatWallIllustration extends StatelessWidget {
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialScale: .9, initialScale: .9,
initialOffset: Offset(-40, 60), initialOffset: Offset(-40, 60),
heightFactor: .75, heightFactor: .85,
fractionalOffset: Offset(-.4, .45), fractionalOffset: Offset(-.4, .45),
zoomAmt: .25, zoomAmt: .25,
dynamicHzOffset: -150, dynamicHzOffset: -150,
@ -74,8 +76,8 @@ class GreatWallIllustration extends StatelessWidget {
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
initialScale: .95, initialScale: .95,
heightFactor: .85, heightFactor: 1,
fractionalOffset: Offset(.4, .25), fractionalOffset: Offset(.4, .3),
zoomAmt: .1, zoomAmt: .1,
dynamicHzOffset: 150, dynamicHzOffset: 150,
), ),

View File

@ -29,18 +29,19 @@ class MachuPicchuIllustration extends StatelessWidget {
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller1, ImagePaths.roller1,
flipX: true, flipX: false,
color: Colors.white, color: Color(0xff1E736D),
opacity: anim.drive(Tween(begin: 0, end: .7)), opacity: anim.drive(Tween(begin: 0, end: .5)),
scale: config.shortMode ? 4 : 1,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .15, heightFactor: config.shortMode ? .15 : .15,
minHeight: 150, minHeight: 100,
offset: config.shortMode ? Offset(-70, context.heightPx * -.05) : Offset(-150, context.heightPx * -.25), offset: config.shortMode ? Offset(150, context.heightPx * -.08) : Offset(150, context.heightPx * -.35),
), ),
]; ];
} }
@ -50,8 +51,9 @@ class MachuPicchuIllustration extends StatelessWidget {
fileName: 'machu-picchu.png', fileName: 'machu-picchu.png',
heightFactor: .65, heightFactor: .65,
minHeight: 500, minHeight: 500,
zoomAmt: .05, zoomAmt: config.shortMode ? .1 : -1,
enableHero: true, enableHero: true,
fractionalOffset: Offset(config.shortMode ? 0 : -.05, config.shortMode ? 0.02 : -.12),
), ),
]; ];
@ -63,18 +65,18 @@ class MachuPicchuIllustration extends StatelessWidget {
initialScale: .9, initialScale: .9,
initialOffset: Offset(0, 60), initialOffset: Offset(0, 60),
heightFactor: .6, heightFactor: .6,
fractionalOffset: Offset(0, .3), fractionalOffset: Offset(0, .2),
zoomAmt: .1, zoomAmt: .05,
dynamicHzOffset: 150, dynamicHzOffset: 150,
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'foreground-front.png', fileName: 'foreground-front.png',
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
heightFactor: .5, heightFactor: .6,
initialScale: .95, initialScale: 1.2,
fractionalOffset: Offset(-.25, .25), fractionalOffset: Offset(-.35, .4),
zoomAmt: .12, zoomAmt: .2,
dynamicHzOffset: -50, dynamicHzOffset: -50,
), ),
]; ];

View File

@ -29,15 +29,17 @@ class PetraIllustration extends StatelessWidget {
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller1, ImagePaths.roller1,
color: Colors.white, color: WonderType.petra.bgColor,
flipX: true, flipX: true,
opacity: anim.drive(Tween(begin: 0, end: .25)), opacity: anim.drive(Tween(begin: 0, end: 1)),
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'moon.png', fileName: 'moon.png',
initialOffset: Offset(0, -150),
heightFactor: .15, heightFactor: .15,
minHeight: 100, minHeight: 50,
alignment: Alignment.topCenter, alignment: Alignment.topCenter,
fractionalOffset: Offset(-.7, 0), fractionalOffset: Offset(-.7, 0),
), ),
@ -52,7 +54,7 @@ class PetraIllustration extends StatelessWidget {
fileName: 'petra.png', fileName: 'petra.png',
heightFactor: .65, heightFactor: .65,
minHeight: 500, minHeight: 500,
zoomAmt: .1, zoomAmt: config.shortMode ? -0.05 : -1,
enableHero: true, enableHero: true,
), ),
), ),
@ -65,8 +67,8 @@ class PetraIllustration extends StatelessWidget {
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
initialOffset: Offset(-80, 0), initialOffset: Offset(-80, 0),
heightFactor: 1, heightFactor: 1,
fractionalOffset: Offset(-.55, 0), fractionalOffset: Offset(-.6, 0),
zoomAmt: .1, zoomAmt: .03,
dynamicHzOffset: -130, dynamicHzOffset: -130,
bottom: (_) { bottom: (_) {
/// To cover everything behind this piece with a solid color, we scale up a container /// To cover everything behind this piece with a solid color, we scale up a container
@ -85,7 +87,7 @@ class PetraIllustration extends StatelessWidget {
initialOffset: Offset(80, 00), initialOffset: Offset(80, 00),
heightFactor: 1, heightFactor: 1,
fractionalOffset: Offset(.55, 0), fractionalOffset: Offset(.55, 0),
zoomAmt: .15, zoomAmt: .12,
dynamicHzOffset: 130, dynamicHzOffset: 130,
bottom: (_) { bottom: (_) {
/// To cover everything behind this piece with a solid color, we scale up a container and then offset it in negative space /// To cover everything behind this piece with a solid color, we scale up a container and then offset it in negative space

View File

@ -29,18 +29,20 @@ class PyramidsGizaIllustration extends StatelessWidget {
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller2, ImagePaths.roller2,
color: Colors.white, color: Color(0xff797FD8),
opacity: anim.drive(Tween(begin: 0, end: .3)), opacity: anim.drive(Tween(begin: 0, end: .75)),
flipY: true, flipY: true,
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'moon.png', fileName: 'moon.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .15, heightFactor: .15,
minHeight: 100, minHeight: 100,
offset: config.shortMode ? Offset(100, context.heightPx * -.1) : Offset(150, context.heightPx * -.15), offset: config.shortMode ? Offset(100, context.heightPx * -.06) : Offset(150, context.heightPx * -.3),
zoomAmt: .05, zoomAmt: .05,
), ),
]; ];
@ -53,7 +55,8 @@ class PyramidsGizaIllustration extends StatelessWidget {
enableHero: true, enableHero: true,
heightFactor: .5, heightFactor: .5,
minHeight: 300, minHeight: 300,
zoomAmt: .1, zoomAmt: config.shortMode ? -.2 : -2,
fractionalOffset: Offset(0, config.shortMode ? .1 : -.05),
) )
]; ];
} }
@ -66,7 +69,7 @@ class PyramidsGizaIllustration extends StatelessWidget {
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
initialScale: .95, initialScale: .95,
heightFactor: .55, heightFactor: .55,
fractionalOffset: Offset(.1, .06), fractionalOffset: Offset(.2, -.01),
zoomAmt: .1, zoomAmt: .1,
dynamicHzOffset: 150, dynamicHzOffset: 150,
), ),
@ -76,7 +79,7 @@ class PyramidsGizaIllustration extends StatelessWidget {
initialScale: .9, initialScale: .9,
initialOffset: Offset(-40, 60), initialOffset: Offset(-40, 60),
heightFactor: .55, heightFactor: .55,
fractionalOffset: Offset(-.1, .1), fractionalOffset: Offset(-.09, 0.02),
zoomAmt: .25, zoomAmt: .25,
dynamicHzOffset: -150, dynamicHzOffset: -150,
), ),

View File

@ -31,20 +31,21 @@ class TajMahalIllustration extends StatelessWidget {
// Noise texture // Noise texture
Positioned.fill( Positioned.fill(
child: IllustrationTexture( child: IllustrationTexture(
ImagePaths.roller1, ImagePaths.roller2,
flipY: true, flipY: true,
opacity: anim.drive(Tween(begin: 0, end: 1)), opacity: anim.drive(Tween(begin: 0, end: .7)),
color: bgColor, color: bgColor,
scale: config.shortMode ? 4 : 1.15,
), ),
), ),
// Sun // Sun
IllustrationPiece( IllustrationPiece(
fileName: 'sun.png', fileName: 'sun.png',
initialOffset: Offset(0, 20), initialOffset: Offset(0, 50),
enableHero: true, enableHero: true,
heightFactor: .15, heightFactor: .3,
minHeight: 140, minHeight: 140,
offset: config.shortMode ? Offset(-100, context.heightPx * -.05) : Offset(-150, context.heightPx * -.15), offset: config.shortMode ? Offset(-100, context.heightPx * -.05) : Offset(-220, context.heightPx * -.34),
), ),
]; ];
} }
@ -61,10 +62,11 @@ class TajMahalIllustration extends StatelessWidget {
minHeight: minHeight, minHeight: minHeight,
enableHero: true, enableHero: true,
zoomAmt: .05, zoomAmt: .05,
fractionalOffset: Offset(0, config.shortMode ? 0 : -.15),
top: config.shortMode top: config.shortMode
? null ? null
: (_) => FractionalTranslation( : (_) => FractionalTranslation(
translation: Offset(0, .85), translation: Offset(0, 0.73),
child: IllustrationPiece( child: IllustrationPiece(
fileName: 'pool.png', fileName: 'pool.png',
heightFactor: heightFactor * poolScale, heightFactor: heightFactor * poolScale,
@ -88,16 +90,16 @@ class TajMahalIllustration extends StatelessWidget {
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
initialOffset: Offset(20, 40), initialOffset: Offset(20, 40),
initialScale: .85, initialScale: .85,
heightFactor: .4 + .2 * mangoScale, heightFactor: .5 + .4 * mangoScale,
fractionalOffset: Offset(.3, 0), fractionalOffset: Offset(.3, 0),
zoomAmt: .1, zoomAmt: .25,
), ),
IllustrationPiece( IllustrationPiece(
fileName: 'foreground-left.png', fileName: 'foreground-left.png',
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
initialScale: .9, initialScale: .9,
initialOffset: Offset(-40, 60), initialOffset: Offset(-40, 60),
heightFactor: .5 + .3 * mangoScale, heightFactor: .6 + .3 * mangoScale,
fractionalOffset: Offset(-.3, 0), fractionalOffset: Offset(-.3, 0),
zoomAmt: .25, zoomAmt: .25,
dynamicHzOffset: 0, dynamicHzOffset: 0,