tft每日頭條

 > 遊戲

 > 俄羅斯方塊遊戲中的平移和旋轉

俄羅斯方塊遊戲中的平移和旋轉

遊戲 更新时间:2025-01-27 07:57:04

我是會做遊戲也會教你做遊戲的小螞蟻,歡迎關注我,每天學點兒做遊戲的知識。

嗨!大家好,我是小螞蟻。

今天,我們來繼續學習和實現下一個模塊:玩家控制形狀

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)1

在俄羅斯方塊遊戲中,玩家可以對下落的形狀進行控制,控制分為兩種,一種是控制形狀的移動(左,右,下),一種是控制形狀的旋轉(順時針旋轉 90 度)。

控制形狀的移動

我們先來看一下如何控制移動。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)2

如圖是一個“T”型的形狀,它在網格中是可以向左,右,下,三個方向移動的。除此之外,它的移動還是有規則的,即每次隻能移動一個格子的位置。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)3

有了這樣的規則,其實是讓移動變得更簡單了。往哪個方向上移動,就将形狀向哪個方向平移一個單元格的位置即可。

移動是有限制的,即形狀隻能在指定的區域内(20 行 10 列的網格)進行移動,所以,我們在處理移動的時候需要考慮邊界限制。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)4

如圖,以第一個形狀為例,它一共有 4 種不同的狀态,圖中紅色的圓點表示的形狀在當前網格中的位置,可以看的出,“狀态1”和“狀态2”在判斷是否達到右邊界時,使用的判斷距離是不同的。“狀态1”距離右邊界一個半方塊,“狀态2”距離右邊界一個方塊。

因此,在進行邊界判斷的時候,我們必須根據當前形狀所在的狀态進行判斷。仔細觀察一下上方圖中的這 4 種狀态,其實是可以分為兩組的,“狀态1”和“狀态3”屬于一組,“狀态2”和“狀态4”屬于一組。

接着來看一下,向右移動的積木邏輯。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)5

根據當前形狀的狀态,判斷是否達到了右邊界,如果沒有到達右邊界的話,就向右移動一個位置。

向左移動也是同樣的方法,這裡我們就不再贅述了。至于向下移動的處理,我們把它放到後續的碰撞檢測模塊再進行詳細講解。

控制形狀的旋轉

接着我們來看一下如何控制旋轉,也可以叫做切換形狀的狀态。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)6

如圖,是“形狀1”的所有狀态,每一種狀态都是以上一個狀态為基礎,順時針旋轉 90 度。“狀态4”再轉 90 度,就又回到了“狀态1”,狀态的切換是一個循環的過程。

找到這個規律之後,實現起來就很簡單了,每當進行狀态切換時,就将當前形狀順時針旋轉 90 度即可。

但是,似乎沒有想象的那麼簡單。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)7

如圖,是“狀态1”切換到“狀态2”的過程,形狀在進行旋轉時,會以中間的那個紅色圓點進行轉動,當轉到 90 度切換到“狀态2”時,我們發現,當前的形狀并沒有位于網格之上。此時,就需要對當前的形狀進行位置調整,讓它的每一個方塊都落在單元格中。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)8

如圖,向左移動半個格子,向下移動半個格子,便可将“狀态2”的圖形移動到網格中。

同樣當“狀态2”切換到“狀态3”的時候,也同樣會出現這種偏移問題,我們隻需要在把這種轉換過程畫出來,就可以看出偏移,以及調整的方向和大小。

與移動處理一樣,狀态旋轉時,我們也要考慮到左右邊界。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)9

如圖,在網格中“狀态2”切換到“狀态3”的過程是這樣的,先旋轉 90 度,然後再向右上方進行偏移。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)10

但是,當“狀态2”位于右邊界時,如果還向右上方偏移調整的話,就會導緻形狀越出邊界。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)11

這時,形狀的調整位置就需要變動,改為向左上方進行偏移。

所以,“狀态2”切換到“狀态3”時,需要考慮到右邊界的情況,如果不在右邊界,則旋轉後向右上方調整,如果在右邊界,則旋轉後向左上方調整。同樣的,當“狀态4”切換到“狀态1”時,也要考慮到左邊界的情況。

最後,我們來看一下整個狀态切換的積木邏輯。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)12

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)13

預覽一下遊戲,看一下移動和旋轉控制。

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)14

俄羅斯方塊遊戲中的平移和旋轉(從零開始做一個俄羅斯方塊遊戲3:形狀控制)15

今天的内容就到這裡了,稍微總結一下:在俄羅斯方塊中玩家對于形狀的控制有兩種,一種是移動控制,一種是旋轉(切換)控制。在這兩種控制中,我們都需要考慮左右邊界的處理,而且針對不同的狀态,所需要做的邊界處理也不同。

另外,你可能發現了,我在遊戲中繪制了一個 20 x 10 的網格。這個網格不會在最終的遊戲中出現,但是在遊戲制作的過程中,卻會給我們很大的幫助。有了這樣的一張網格,你就能夠在遊戲中實時地觀察到自己對于形狀的處理是否正确了。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关遊戲资讯推荐

热门遊戲资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved