【WPF練習14】壁崩し(8/9)
プロジェクトタイプ | C# WPFアプリケーション※ |
---|---|
プロジェクト名 | T10b |
ソリューション名 | PET10 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
※ 「WPFアプリ(.NET Framework)」ではないので注意せよ!
注意
- 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
- 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
- プロジェクトの作成作業については準備を参照せよ.
14-8. リセット機能の実装
次にゲームのリセット機能を実装しよう.これは比較的簡単である. 今回はゲームが終了した状態,つまりタイマーが停止している状態で画面をクリックすると, ゲームをリセットして最初から遊べるようにすることにする.
canvas1
にはマウスクリック時のイベントは存在しないが,WPFのほとんどの部品は
マウスボタンがリリースされたときに発生する
MouseUpイベントや,
マウスボタンが押下されたときに発生する
MouseDownイベントといったイベントを備えている.
今回はcanvas1
のMouseUp
メソッドにイベントハンドラを設定してそこでリセット処理を行うことにする.
MainWindow.xaml
を編集して,canvas1
にMouseUp
イベントを設定してイベントハンドラに_に示す内容を追記しよう.
|
|
また,ResetGame()
メソッドにも少し手を加えよう.ゲームをリセットした際には,
「GAME OVER
」や「CLEAR!
」といった表示,つまりlabel1
を非表示にする必要があるので,
そのための処理をResetGame()
メソッドに追記しよう._に示す内容を追記する.
|
|
ここまで書けたら起動してみよう.ゲームオーバーにするなりゲームクリアするなりしてゲームを終了させてから 画面をクリックしてみよう._に示すように,ゲームがリセットされ最初から遊べるようになることが分かるはずである.