質問
https://youtu.be/aYhd1oulIS0
上記のユーチューブ動画を参考に、テトリスアプリを作成中です。
左右に動かす、ローテートさせる、といったボタンを配置しているのですが、それをコンソールに表示させる用に、
Dart
1enum LastButtonPressed { LEFT, RIGHT, ROTATE, NONE }
を使って表示させてるのですが、このNONEはなぜ必要なのですか?
該当のソースコード
Dart
1import 'package:flutter/material.dart'; 2import 'package:flutter_app_japanese_tetris/actionButton.dart'; 3import 'package:flutter_app_japanese_tetris/main.dart'; 4 5enum LastButtonPressed { LEFT, RIGHT, ROTATE, NONE } 6 7 8class Game extends StatefulWidget { 9 10 _Game createState() => _Game(); 11} 12 13class _Game extends State<Game> { 14 15 LastButtonPressed performAction = LastButtonPressed.NONE; 16 17 void onActionButtonPressed(LastButtonPressed newAction) { 18 setState(() { 19 performAction = newAction; 20 print("Changing state: " + performAction.toString()); 21 }); 22 } 23 24 25 Widget build(BuildContext context) { 26 return Scaffold( 27 backgroundColor: Colors.brown[300], 28 body: Column( 29 mainAxisAlignment: MainAxisAlignment.spaceEvenly, 30 children: <Widget>[ 31 Center( 32 child: Container( 33 width: WIDTH, 34 height: HEIGHT, 35 decoration: BoxDecoration( 36 border: Border.all(color: Colors.black), 37 ), 38 ), 39 ), 40 Row( 41 mainAxisAlignment: MainAxisAlignment.spaceEvenly, 42 children: <Widget>[ 43 ActionButton( 44 onActionButtonPressed, 45 Icon(Icons.arrow_left), 46 LastButtonPressed.LEFT 47 ), 48 ActionButton( 49 onActionButtonPressed, 50 Icon(Icons.arrow_right), 51 LastButtonPressed.RIGHT 52 ), 53 ActionButton( 54 onActionButtonPressed, 55 Icon(Icons.rotate_90_degrees_ccw), 56 LastButtonPressed.ROTATE, 57 ), 58 ]) 59 ], 60 ), 61 ); 62 } 63} 64
補足情報(FW/ツールのバージョンなど)
MacOS Mojave
Android Studio
回答1件
あなたの回答
tips
プレビュー