五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

中文編程pygame游戲教程4_區(qū)塊定位

2023-08-23 09:56 作者:52中文編程  | 我要投稿

區(qū)塊(Rect)是圖形編程中非常有用的對象。 它在 Pygame 中有自己的類區(qū)塊類,能夠存儲和操作矩形區(qū)域的位置信息。 可以通過提供以下內(nèi)容來創(chuàng)建對象:

  • 左、頂、寬、高4個參數(shù)

  • 位置和大小

  • 具有 rect 屬性的對象

新建一個區(qū)塊對象可以使用上面的任一個寫法. 對于表層對象, 可以直接用獲取區(qū)塊的方法獲取默認的位置信息(默認坐標是0,0)
例如, 第2課移動的小球的區(qū)塊用下面的代碼獲取區(qū)塊對象不需要新建, 利用區(qū)塊對象可以方便的定位小球的位置到屏幕的中心.

虛擬屬性

Rect 對象有幾個可以使用的虛擬屬性用來移動和對齊區(qū)塊。 分配給這些屬性只是移動區(qū)塊的位置而不更改其大?。?/p>

x, y
頂(top), 左(left), 底(bottom), 右(right)
頂左(topleft), 底左(bottomleft), 頂右(topright), 底右(bottomright)
中頂(midtop), 中左(midleft), 中底(midbottom), 中右(midright)
中心(center), 中心x(centerx), 中心y(centery)

下面的屬性的分配通過保持區(qū)塊的左上角位置來更改區(qū)塊的大小。
尺寸(size), 寬度(width), 高度(height)

以下程序準備繪制一個矩形, 將其位置和大小新建一個區(qū)塊對象, 并將這些虛擬屬性打印到控制臺:

標記點

區(qū)塊Rect 類定義 4 個角點、4 個中點和 1 個中心點。
下面的代碼繪制一個矩形并標記這些點:

水平和垂直對齊

在下面的示例中,我們使用鍵盤的按鍵將矩形水平對齊:

  • 按鍵L - 左

  • 按鍵C - 中心

  • 按鍵R - 右

和其他 3 個鍵來垂直對齊矩形:

  • 按鍵T - 頂部

  • 按鍵M - 中

  • 按鍵B - 底部

注意把輸入法設(shè)為英文按鍵才能起作用.

使用按鍵移動區(qū)塊

區(qū)塊對象有兩個移動方法:?移動(x,y)會返回一個新的區(qū)塊對象,?移動_ip(x,y)會刷新區(qū)塊的位置信息, 沒有返回數(shù)據(jù).下面的代碼都會讓矩形向右移動100個像素(第二個參數(shù)0代碼中y軸方向上保持不變):

矩形區(qū)塊 = g.區(qū)塊類(0, 0, 200, 80) ?# 默認在屏幕左上角矩形區(qū)塊=矩形區(qū)塊.移動(100,0) ?# 現(xiàn)在會右移100像素# 矩形區(qū)塊.移動_ip(100,0) ?# 這一行代碼與上面作用相同# 下面的代碼應(yīng)該在循環(huán)中, 屏幕刷新之前g.繪圖.矩形(屏幕, 'blue', 矩形區(qū)塊, 4)

接下來的我們使用鍵盤的上下左右按鍵移動矩形, 上一個對齊矩形例子用了很多if語句導致代碼過長, 這一次我們使用字典簡化一下, 把上下左右按鍵對應(yīng)的移動距離保存到字典中. 對于每個方向,移動為 5 個像素:


下面是完整代碼, 可以看到使用這個方法大大簡化了代碼量:

運行上面代碼, 按鍵上下左右可以移動矩形的位置.

縮放矩形

與移動方法類似,?縮放(x,y)縮放_ip(x,y)可以按矢量增大或縮小區(qū)塊對象。 以下程序使用 4 個箭頭鍵來更改矩形的大小。 藍色細矩形是原始矩形,紅色粗矩形是更改的矩形。為了便于觀察, 我們利用區(qū)塊的中心屬性將矩形放在屏幕中心.

裁剪和聯(lián)合

區(qū)塊0.裁剪(區(qū)塊1)該方法返回一個新區(qū)塊,它是兩個區(qū)塊的交集。
區(qū)塊0.聯(lián)合(區(qū)塊1)該方法返回一個新矩形,它是兩個區(qū)塊的并集。

下面的程序顯示了紅色和藍色輪廓的兩個矩形。 綠色矩形是交集區(qū)域。 黃色矩形是兩個矩形的并集。按上下左右移動紅色矩形可以看到交集和并集區(qū)域的變化.


中文編程pygame游戲教程4_區(qū)塊定位的評論 (共 條)

分享到微博請遵守國家法律
贺兰县| 贵南县| 海伦市| 阜新| 防城港市| 松溪县| 乌鲁木齐县| 河曲县| 汉沽区| 柳河县| 静安区| 道孚县| 府谷县| 芒康县| 德昌县| 嘉黎县| 寿光市| 佛坪县| 红原县| 太康县| 明溪县| 双桥区| 瑞昌市| 华容县| 老河口市| 于都县| 西乡县| 葫芦岛市| 忻州市| 永昌县| 合川市| 余姚市| 孙吴县| 伊金霍洛旗| 资中县| 土默特左旗| 邹平县| 忻州市| 邳州市| 五台县| 乌审旗|