30/09/2018, 23:03

Cách tạo ra hai tốc độ khác nhau tron game console

Thường mình làm vòng lặp như sau:

while (1)
{
       .....
       .....
       Sleep( ThoiGian );
}

Như vậy thì tốc độ của mọi đối tượng trong vòng lặp đó như nhau, sau một khoảng ThoiGian thì tất cả đều cập nhập di chuyển một lần. Vậy muốn tạo tốc độ khác nhau cho mỗi đối tượng thì làm sao ạ? Chẳng hạn như trong game Pingpong thì tốc độ của thanh đỡ nhanh gấp đôi tốc độ quả bóng.

Tao Không Ngu. viết 01:07 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Bùi Tống Minh Châu viết 01:04 ngày 01/10/2018
KiemTra = 0;
while (1) {
    // ......
    if (KiemTra % 3) {
        // đối tượng 1
    }

    if (KiemTra % 2) {
        // đối tượng 2
    }

        // đối tượng 3
    Sleep (ThoiGian)
    KiemTra++;
    if (KiemTra == 6)
         KiemTra = 0;
}

Ở đây, mỗi lần lặp thì KiemTra tăng lên 1. Đối tượng 3 di chuyển trong mỗi lần lặp, đối tượng 2 di chuyển khi KiemTra chia hết cho 2 (tức là cách 1 lần di chuyển 1 lần), nên đối tượng 3 di chuyển nhanh gấp đôi đối tượng 2, tương tự: đối tượng 3 di chuyển nhanh gấp 3 lần đối tượng 1…
Khi KiemTra = 6 ( KiemTra chia hết cho 321) thì cho KiemTra quay về 0 để tránh tràn số.

Bài liên quan
0