mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-30 00:17:20 +08:00
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>.
This commit is contained in:
@ -3,6 +3,9 @@ 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) {
|
||||
@ -25,5 +28,23 @@ void addCollisionDetectionStories(Dashbook dashbook) {
|
||||
(_) => 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,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user