mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-10-31 08:56:01 +08:00 
			
		
		
		
	Unify examples structure (#1118)
* Animations, CameraAndViewport, CollisionDetection and Components unified * Added descriptions to effects * Rename input games * Unify input stories * Add info to parallax section * Added descriptions to the rendering examples * Add descriptions to the sprites directory * Fix utils and rendering section * Add descriptions to the widgets section * Delete directory that rebase brought back * Unify game names * Added some styleguide docs for examples * Fix analyze issues * All files should have _example as suffix * Made the FollowComponentExample a bit easier to understand * Change priority of ember
This commit is contained in:
		
							
								
								
									
										62
									
								
								examples/lib/stories/effects/sequence_effect_example.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								examples/lib/stories/effects/sequence_effect_example.dart
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| import 'package:flame/effects.dart'; | ||||
| import 'package:flame/extensions.dart'; | ||||
| import 'package:flame/game.dart'; | ||||
| import 'package:flame/input.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
|  | ||||
| import '../../commons/square_component.dart'; | ||||
|  | ||||
| final green = Paint()..color = const Color(0xAA338833); | ||||
|  | ||||
| class SequenceEffectExample extends FlameGame with TapDetector { | ||||
|   static const String description = ''' | ||||
|     In this example we show how different effects can be chained in the | ||||
|     `SequenceEffect`. Click anywhere on the screen to start the effects | ||||
|     sequence. | ||||
|   '''; | ||||
|  | ||||
|   late SquareComponent greenSquare; | ||||
|  | ||||
|   @override | ||||
|   Future<void> onLoad() async { | ||||
|     await super.onLoad(); | ||||
|     greenSquare = SquareComponent(position: Vector2.all(100), paint: green); | ||||
|     add(greenSquare); | ||||
|   } | ||||
|  | ||||
|   @override | ||||
|   void onTapUp(TapUpInfo info) { | ||||
|     final currentTap = info.eventPosition.game; | ||||
|     greenSquare.clearEffects(); | ||||
|  | ||||
|     final move = MoveEffect( | ||||
|       path: [ | ||||
|         currentTap, | ||||
|         currentTap + Vector2(-20, 50), | ||||
|         currentTap + Vector2(-50, -50), | ||||
|         currentTap + Vector2(50, 0), | ||||
|       ], | ||||
|       speed: 150.0, | ||||
|       curve: Curves.easeIn, | ||||
|     ); | ||||
|  | ||||
|     final size = SizeEffect( | ||||
|       size: currentTap - greenSquare.position, | ||||
|       speed: 100.0, | ||||
|       curve: Curves.easeInCubic, | ||||
|     ); | ||||
|  | ||||
|     final rotate = RotateEffect( | ||||
|       angle: currentTap.angleTo(Vector2.all(100)), | ||||
|       duration: 0.8, | ||||
|       curve: Curves.decelerate, | ||||
|     ); | ||||
|  | ||||
|     final sequence = SequenceEffect( | ||||
|       effects: [size, rotate, move], | ||||
|       isAlternating: true, | ||||
|     ); | ||||
|     sequence.onComplete = () => print('sequence complete'); | ||||
|     greenSquare.add(sequence); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Lukas Klingsbo
					Lukas Klingsbo