Files
flame/examples/lib/stories/collision_detection/collision_detection.dart
Lukas Klingsbo ed452dd172 feat!: Raycasting and raytracing (#1785)
This PR implements raytracing and raycasting for the built-in hitboxes.

If you pass in your own collision detection system to the HasCollisionDetection mixin you have to change the signature of that to: CollisionDetection<ShapeHitbox>instead of CollisionDetection<Hitbox>.
2022-08-19 22:44:18 +02:00

51 lines
1.9 KiB
Dart

import 'package:dashbook/dashbook.dart';
import 'package:examples/commons/commons.dart';
import 'package:examples/stories/collision_detection/circles_example.dart';
import 'package:examples/stories/collision_detection/collidable_animation_example.dart';
import 'package:examples/stories/collision_detection/multiple_shapes_example.dart';
import 'package:examples/stories/collision_detection/raycast_example.dart';
import 'package:examples/stories/collision_detection/raycast_light_example.dart';
import 'package:examples/stories/collision_detection/raytrace_example.dart';
import 'package:flame/game.dart';
void addCollisionDetectionStories(Dashbook dashbook) {
dashbook.storiesOf('Collision Detection')
..add(
'Collidable AnimationComponent',
(_) => GameWidget(game: CollidableAnimationExample()),
codeLink:
baseLink('collision_detection/collidable_animation_example.dart'),
info: CollidableAnimationExample.description,
)
..add(
'Circles',
(_) => GameWidget(game: CirclesExample()),
codeLink: baseLink('collision_detection/circles_example.dart'),
info: CirclesExample.description,
)
..add(
'Multiple shapes',
(_) => GameWidget(game: MultipleShapesExample()),
codeLink: baseLink('collision_detection/multiple_shapes_example.dart'),
info: MultipleShapesExample.description,
)
..add(
'Raycasting (light)',
(_) => GameWidget(game: RaycastLightExample()),
codeLink: baseLink('collision_detection/raycast_light_example.dart'),
info: RaycastLightExample.description,
)
..add(
'Raycasting',
(_) => GameWidget(game: RaycastExample()),
codeLink: baseLink('collision_detection/raycast_example.dart'),
info: RaycastExample.description,
)
..add(
'Raytracing',
(_) => GameWidget(game: RaytraceExample()),
codeLink: baseLink('collision_detection/raytrace.dart'),
info: RaytraceExample.description,
);
}