mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-02 20:13:50 +08:00
58 lines
1.2 KiB
Dart
58 lines
1.2 KiB
Dart
import 'package:flame/flame.dart';
|
|
import 'package:flame/game.dart';
|
|
import 'package:flame/components/component.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
void main() => runApp(MyGame().widget);
|
|
|
|
class Ball extends PositionComponent {
|
|
final Size gameSize;
|
|
final paint = Paint()..color = Color(0xFFFFFFFF);
|
|
|
|
bool foward = true;
|
|
|
|
Ball(this.gameSize);
|
|
|
|
void render(Canvas c) {
|
|
c.drawOval(this.toRect(), paint);
|
|
}
|
|
|
|
void update(double delta) {
|
|
if (foward) {
|
|
this.x += 100 * delta;
|
|
} else {
|
|
this.x -= 100 * delta;
|
|
}
|
|
|
|
if (this.x <= 0 || this.x + this.width >= gameSize.width) {
|
|
if (foward)
|
|
this.x = gameSize.width - this.width - 1;
|
|
else
|
|
this.x = 1;
|
|
|
|
foward = !foward;
|
|
print("boin");
|
|
Flame.audio.play("boin.mp3", volume: 1.2);
|
|
}
|
|
}
|
|
}
|
|
|
|
class MyGame extends BaseGame {
|
|
MyGame() {
|
|
_start();
|
|
}
|
|
|
|
_start() async {
|
|
Size size = await Flame.util.initialDimensions();
|
|
|
|
Flame.audio.disableLog();
|
|
Flame.audio.load("boin.mp3");
|
|
Flame.audio.loop("music.mp3", volume: 0.4);
|
|
|
|
add(Ball(size)
|
|
..y = (size.height / 2) - 50
|
|
..width = 100
|
|
..height = 100);
|
|
}
|
|
}
|