iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
影片教學

視窗程式設計系列 第 17

【Day17】不用下載 Visual Studio 也能玩!關於 Release 檔的建置

  • 分享至 

  • xImage
  •  

嗨,大家好,今天是視窗程式設計第十七天的影片教學,在過去的影片教學當中,已經完成大部分遊戲的功能,今天將要針對這份遊戲專案來進行優化。

首先是關於物體移動速度的部分,除了左右控制賽車移動,我們也可以透過前後鍵來調整物體移動的速度,使車子的前進具有變化,這裡使用的方式如下:

int speed = 15 // 物體移動的速度
int car_state = 0; // 還沒撞到障礙物

private void Form1_KeyDown(object sender, KeyEventArgs e) // 控制車子移動
{
    if(car_state == 0) // 如果還沒撞到障礙物
    {
        if(e.KeyCode == Keys.Right) { pictureBox_sportcar.Left += 10; }
        if (e.KeyCode == Keys.Left) { pictureBox_sportcar.Left -= 10; }
        
        // 關於速度的控制
        if (e.KeyCode == Keys.Up) { speed += 5; } // speed = speed + 5,往下移動速度變快
        if (e.KeyCode == Keys.Down) { speed -= 5; } // speed = speed - 5,降低移動速度
    }
}

private void timer1_Tick(object sender, EventArgs e)
{
    if (speed < 15) speed = 15; // 如果速度低於15,則維持15
    
    // 虛線的移動
    foreach (Control x in this.Controls)
    {
        if(x.Tag == "line")
        {
            if (x.Top > this.Height) // 當低於 window form 的底部
                x.Top = -x.Height;
            else
                x.Top += speed; // 以 speed 速度移動
        }
    }
    
    // 錢幣,障礙物移動
    foreach (Control y in this.Controls)
    {
        if (y.Tag == "money" || y.Tag == "rock")
        {
            if (y.Top > this.Height) // 當低於 window form 的底部
            {
                Random r = new Random(); // 重新生成,Random物件
                y.Top = -y.Height;
                y.Left = r.Next(30, 410);
            }
            else
                y.Top += speed; // 以 speed 速度移動
        }
    }

程式碼當中的 if (speed < 15) speed = 15; 主要是防止 speed 出現負數或0,使物件移動產生反方向移動或是停止。

影片當中還提到 function 這個字,在這邊可以先簡單想成 function 是包裝程式碼用,因此我可以將上述的程式碼包裝成一個名為 "moveobject" 的 function,在需要的時候呼叫他,就可以使用包裝在內的程式碼,以減少因重複而產生相同程式碼的情形。在此,我們可以將上述程式碼放入 timer_Tick即可。

此外,我們還可以為專案放入特定 icon,這邊使用ZAMZAR(https://www.zamzar.com/convert/png-to-ico/)來做為轉換,在 form 屬性視窗把 icon 改成下載好的 .ico 檔,執行時即可看到效果。

最後,若要在其他沒有安裝 Visual Studio 的電腦運作的話,在 Debug 下拉選單內選擇 Release,接著點擊建置 > 建置方案,就可以在 Release 資料夾內看到執行檔(.exe)了!而音效也要複製到Release 資料夾內。

以上就是今天的教學,在這邊要先把馬路三寶的遊戲告一個段落,也可以試試其他的玩法或規則喔!

icon素材來源:flaticon(https://www.flaticon.com/)
轉檔網址:ZAMZAR(https://www.zamzar.com/convert/png-to-ico/)

Yes


上一篇
【Day16】玩遊戲怎能沒音效!在專案內加入音效
下一篇
【Day18】打磚塊遊戲序幕,球的彈跳規則設計
系列文
視窗程式設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言