【C#】【ALTSEED】【数独】9×9マスの外をクリックしてもパレットが表示されてしまう動作の修正

前回までの状況はこちら。

最新ソースはこちら(gitHub)

https://github.com/takishita2nd/sudokuGUI

やることの一つ目を解決します。

9×9の範囲が分かれば、対処は簡単です。

9×9は画像なので、幅、高さはプロパティを見ればわかります。

        private const int width = 576;
        private const int height = 576;

これが分かれば、isClick()を作成。

        private bool isClick(asd.Vector2DF pos)
        {
            if (pos.X > offsetX && pos.X < offsetX + width &&
                pos.Y > offsetY && pos.Y < offsetY + height)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

これを使用します。

                        if (isButtonClisk == false)
                        {
                            if (isClick(pos) == true)
                            {
                                mouseHold = true;
                                palette.show(pos);
                                for (int row = 0; row < 9; row++)
                                {
                                    for (int col = 0; col < 9; col++)
                                    {
                                        if (squareObjects[row, col].isClick(pos) == true)
                                        {
                                            clickedSquareObject = squareObjects[row, col];
                                        }
                                    }
                                }
                            }
                        }

こんな感じでどうでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください