Skip to content

Instantly share code, notes, and snippets.

View JURZEL's full-sized avatar

Volker Dähn JURZEL

View GitHub Profile
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 10 - Solution
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/effects.dart';
import 'package:flutter/material.dart';
import 'dart:math';
// Bounce-Button mit ScaleEffect
class BounceButton extends RectangleComponent with TapCallbacks {
bool isAnimating = false;
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 10 - Starter
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/effects.dart';
import 'package:flutter/material.dart';
import 'dart:math';
// TODO: Erstelle einen Button mit Bounce-Effekt
class BounceButton extends RectangleComponent with TapCallbacks {
BounceButton({required Vector2 position}) : super(
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 09 - Solution
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
// Sound-Manager Simulation
class SoundManager {
static bool soundEnabled = true;
static bool musicEnabled = true;
static String? currentMusic;
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 09 - Starter
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
// TODO: Erstelle eine Klasse für Sound-Management (Simulation)
class SoundManager {
static bool soundEnabled = true;
static bool musicEnabled = true;
static final List<String> soundLog = [];
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 08 - Solution
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
import 'dart:math';
class Player extends CircleComponent with CollisionCallbacks {
int score = 0;
Vector2 targetPosition;
final double speed = 200;
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 08 - Starter
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
// TODO: Erstelle einen Spieler mit CollisionCallbacks
class Player extends CircleComponent with CollisionCallbacks {
int score = 0;
Player() : super(
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 07 - Solution
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
// Tappbare Box mit Farbwechsel
class TappableBox extends RectangleComponent with TapCallbacks {
int tapCount = 0;
final List<Color> colors = [
Colors.blue,
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 07 - Starter
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flutter/material.dart';
// TODO: Erstelle eine tappbare Box
class TappableBox extends RectangleComponent with TapCallbacks {
TappableBox({required Vector2 position}) : super(
position: position,
size: Vector2.all(60),
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 06 - Solution
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flutter/material.dart';
import 'dart:math';
class Player extends CircleComponent {
static final Random _random = Random();
Vector2 velocity = Vector2.zero();
double changeDirectionTimer = 0;
@JURZEL
JURZEL / temp_gist.dart
Created October 27, 2025 20:31
Flame Tutorial 06 - Starter
import 'package:flame/game.dart';
import 'package:flame/components.dart';
import 'package:flutter/material.dart';
class Player extends CircleComponent {
Player() : super(radius: 20, paint: Paint()..color = Colors.blue);
@override
Future<void> onLoad() async {
// TODO: Setze die Startposition auf (2000, 2000)