feat: show whether you hit or missed the beat
This commit is contained in:
parent
f577670d75
commit
acebb2431c
|
@ -15,7 +15,7 @@ class Note {
|
||||||
final double time;
|
final double time;
|
||||||
final ArrowDirection direction;
|
final ArrowDirection direction;
|
||||||
double position = 0;
|
double position = 0;
|
||||||
bool wasHit = false;
|
bool? wasHit;
|
||||||
|
|
||||||
Note({required this.time, required this.direction});
|
Note({required this.time, required this.direction});
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,8 +78,10 @@ class _LevelState extends State<Level> {
|
||||||
setState(() => _position = p);
|
setState(() => _position = p);
|
||||||
for (final note in notes) {
|
for (final note in notes) {
|
||||||
note.position = note.time - p.inMilliseconds / 60000.0;
|
note.position = note.time - p.inMilliseconds / 60000.0;
|
||||||
|
if (note.wasHit != null) {
|
||||||
if (!note.wasHit && note.position.abs() < 0.5 * 1.0 / 60.0) {
|
continue;
|
||||||
|
}
|
||||||
|
if (note.position.abs() < 0.5 * 1.0 / 60.0) {
|
||||||
bool keypressCorrect = false;
|
bool keypressCorrect = false;
|
||||||
switch (note.direction) {
|
switch (note.direction) {
|
||||||
case ArrowDirection.up:
|
case ArrowDirection.up:
|
||||||
|
@ -101,11 +103,20 @@ class _LevelState extends State<Level> {
|
||||||
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
SnackBar(
|
SnackBar(
|
||||||
content: Text('This is a toast message'),
|
content: Text('Great!'),
|
||||||
duration: Duration(seconds: 2),
|
duration: Duration(milliseconds: 500),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
} else if (note.position < -0.5 * 1.0 / 60.0) {
|
||||||
|
print("Missed");
|
||||||
|
note.wasHit = false;
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text('Missed!'),
|
||||||
|
duration: Duration(milliseconds: 500),
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue