Files
flame/examples/lib/main.dart
Eugene Kleshnin cb52f5a58a docs: MotorJoint doc and example (#2394)
Documentation covering MotorJoint and a usage example.
2023-03-12 22:31:20 +00:00

86 lines
3.1 KiB
Dart

import 'dart:html';
import 'package:dashbook/dashbook.dart';
import 'package:examples/stories/animations/animations.dart';
import 'package:examples/stories/bridge_libraries/audio/audio.dart';
import 'package:examples/stories/bridge_libraries/flame_isolate/isolate.dart';
import 'package:examples/stories/bridge_libraries/flame_lottie/lottie.dart';
import 'package:examples/stories/bridge_libraries/forge2d/flame_forge2d.dart';
import 'package:examples/stories/bridge_libraries/forge2d/joints/constant_volume_joint.dart';
import 'package:examples/stories/bridge_libraries/forge2d/joints/distance_joint.dart';
import 'package:examples/stories/bridge_libraries/forge2d/joints/friction_joint.dart';
import 'package:examples/stories/bridge_libraries/forge2d/joints/motor_joint.dart';
import 'package:examples/stories/camera_and_viewport/camera_and_viewport.dart';
import 'package:examples/stories/collision_detection/collision_detection.dart';
import 'package:examples/stories/components/components.dart';
import 'package:examples/stories/effects/effects.dart';
import 'package:examples/stories/experimental/experimental.dart';
import 'package:examples/stories/games/games.dart';
import 'package:examples/stories/input/input.dart';
import 'package:examples/stories/layout/layout.dart';
import 'package:examples/stories/parallax/parallax.dart';
import 'package:examples/stories/rendering/rendering.dart';
import 'package:examples/stories/sprites/sprites.dart';
import 'package:examples/stories/svg/svg.dart';
import 'package:examples/stories/system/system.dart';
import 'package:examples/stories/tiled/tiled.dart';
import 'package:examples/stories/utils/utils.dart';
import 'package:examples/stories/widgets/widgets.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
void main() {
var page = window.location.search ?? '';
if (page.startsWith('?')) {
page = page.substring(1);
}
final routes = <String, FlameGame Function()>{
'constant_volume_joint': ConstantVolumeJointExample.new,
'distance_joint': DistanceJointExample.new,
'friction_joint': FrictionJointExample.new,
'motor_joint': MotorJointExample.new,
};
final game = routes[page]?.call();
if (game != null) {
runApp(GameWidget(game: game));
} else {
runAsDashbook();
}
}
void runAsDashbook() {
final dashbook = Dashbook(
title: 'Flame Examples',
theme: ThemeData.dark(),
);
// Some small sample games
addGameStories(dashbook);
// Feature examples
addAudioStories(dashbook);
addAnimationStories(dashbook);
addCameraAndViewportStories(dashbook);
addCollisionDetectionStories(dashbook);
addComponentsStories(dashbook);
addEffectsStories(dashbook);
addExperimentalStories(dashbook);
addInputStories(dashbook);
addLayoutStories(dashbook);
addParallaxStories(dashbook);
addRenderingStories(dashbook);
addTiledStories(dashbook);
addSpritesStories(dashbook);
addSvgStories(dashbook);
addSystemStories(dashbook);
addUtilsStories(dashbook);
addWidgetsStories(dashbook);
// Bridge package examples
addForge2DStories(dashbook);
addFlameIsolateExample(dashbook);
addFlameLottieExample(dashbook);
runApp(dashbook);
}