C# – 一個簡單的圖片震動

嗯~這是昨天學長問的一個小問題
可能以後會用到
第一次使用 goto 語法,還蠻好玩的
要讓一個圖片晃動,需要圖片,因此加入 PictureBox
同時要位移圖片,加入專門處理的函數 MovePicture()
某些情況才會讓它動,要觸發事件,因此加了 Button
每次更新畫面在維護震動訊息,還蠻不智的,加入 Timer

其中在 switch 中用到 goto 來達成一些事情還蠻不錯的
C++裡面沒用過,特別取這段出來

            // 根據計數器來做位移
            switch (_shackCount)
            {
                case 0:
                    // 往右上
                    this.MovePicture(new Point(2, -2));
                    break;

                case 1:
                    // 往左下
                    this.MovePicture(new Point(-4, 4));
                    break;

                case 2:
                    // 往右下
                    this.MovePicture(new Point(4, 0));
                    break;

                case 3:
                    // 往左上
                    this.MovePicture(new Point(-4, -4));
                    break;

                case 4:
                    // 回原點
                    this.MovePicture(new Point(2, 2));
                    break;

                // 1、2、3、4,再來一次!
                case 5: goto case 0;
                case 6: goto case 1;
                case 7: goto case 2;
                case 8: goto case 3;
                case 9: goto case 4;
                case 10:
                    // 結束晃動
                    this.timShacker.Enabled = false;
                    break;
            }

測試圖

測試源碼



話說…
本來想要直接使用 PictureBox.Location.Offset() 來做位移
但不知怎樣才能改到實體,C#好像只能拿到參照而已的樣子= =
有人知道的話麻煩指點一下^^

–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s