婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 教你如何在Pygame 中移動(dòng)你的游戲角色

教你如何在Pygame 中移動(dòng)你的游戲角色

熱門標(biāo)簽:電話機(jī)器人適用業(yè)務(wù) 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 佛山防封外呼系統(tǒng)收費(fèi) 南昌辦理400電話怎么安裝 徐州天音防封電銷卡 湛江電銷防封卡 不錯(cuò)的400電話辦理 哈爾濱外呼系統(tǒng)代理商 獲客智能電銷機(jī)器人

Pygame是一組跨平臺(tái)的 Python 模塊,專為編寫(xiě)視頻游戲而設(shè)計(jì)。它包括旨在與 Python 編程語(yǔ)言一起使用的計(jì)算機(jī)圖形和聲音庫(kù)。您可以使用 pygame 創(chuàng)建不同類型的游戲,包括街機(jī)游戲、平臺(tái)游戲等等。

使用的圖像:


你可以控制玩家的移動(dòng)。為此,首先使用 pygame 的 display.set_mode() 方法創(chuàng)建一個(gè)顯示對(duì)象,并使用 pygame 的 image.load() 方法添加玩家的精靈。set_mode() 函數(shù)用于初始化顯示表面或窗口。size 參數(shù)是一對(duì)代表寬度和高度的數(shù)字。flags 參數(shù)是附加選項(xiàng)的集合。depth 參數(shù)表示用于顏色的位數(shù)。

語(yǔ)法:

set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0)

創(chuàng)建一個(gè)變量來(lái)存儲(chǔ)玩家的速度。設(shè)置玩家的初始坐標(biāo)。現(xiàn)在,根據(jù)鍵盤事件(即鍵狀態(tài)改變時(shí)發(fā)生的事件)更改播放器的 x 和 y 坐標(biāo)。

blit(surface,surfacerect) 函數(shù)用于在屏幕上繪制圖像。

語(yǔ)法:

blit(surface, surfacerect)

為了從隊(duì)列中收集所有事件,使用事件模塊的 get() 函數(shù),然后我們使用 for 循環(huán)迭代所有事件。

語(yǔ)法:

get(eventtype=None)

使用顯示模塊的 update() 函數(shù)更新屏幕。

語(yǔ)法:

update(rectangle=None)

下面是實(shí)現(xiàn)

示例:玩家移動(dòng)程序

# 導(dǎo)入 pygame 模塊
import pygame
from pygame.locals import *
 
# 啟動(dòng) pygame 并授予使用 pygame 功能的權(quán)限
pygame.init()
 
# 創(chuàng)建特定尺寸的顯示面對(duì)象
window = pygame.display.set_mode((600, 600))
 
# 在窗口中添加標(biāo)題
pygame.display.set_caption('Player Movement')
 
# 添加玩家精靈
image = pygame.image.load(r'haiyong.png')
 
 
# 將玩家的初始坐標(biāo)存儲(chǔ)在兩個(gè)變量中,即 x 和 y
x = 100
y = 100
 
# 創(chuàng)建一個(gè)變量來(lái)存儲(chǔ)玩家移動(dòng)的速度
velocity = 12
 
# 創(chuàng)建無(wú)限循環(huán)
run = True
while run:
 
    # 用白色填充背景
    window.fill((255, 255, 255))
 
    # 在 x 和 y 坐標(biāo)處顯示玩家精靈
    window.blit(image, (x, y))
 
    # 迭代 pygame.event.get() 方法返回的 Event 對(duì)象列表。
    for event in pygame.event.get():
 
        # 如果事件類型為 QUIT,則關(guān)閉窗口和程序
        if event.type == pygame.QUIT:
            run = False
            pygame.quit()
            quit()
 
        # 如果事件類型為 KEYDOWN,即按下鍵盤按鈕,則檢查事件鍵
        if event.type == pygame.KEYDOWN:
 
            # 如果按下的按鈕是左箭頭鍵,則減小 x 坐標(biāo)
            if event.key == pygame.K_LEFT:
                x -= velocity
 
            # 如果按下的按鈕是右箭頭鍵,則增加 x 坐標(biāo)
            if event.key == pygame.K_RIGHT:
                x += velocity
 
            # 如果按下按鈕是向上箭頭鍵,則減小 y 坐標(biāo)
            if event.key == pygame.K_UP:
                y -= velocity
 
            # 如果按下按鈕是向下箭頭鍵,則增加 y 坐標(biāo)
            if event.key == pygame.K_DOWN:
                y += velocity
 
        # 將表面對(duì)象繪制到屏幕上
        pygame.display.update()

輸出:

玩家也可以連續(xù)移動(dòng)。為此,除了要進(jìn)行一些更改外,其他一切都保持不變。在這里,我們創(chuàng)建了一個(gè)新的時(shí)鐘對(duì)象來(lái)使用 clock() 控制游戲的幀速率。

語(yǔ)法

Clock()

創(chuàng)建一個(gè)新變量(名為 key_pressed_is)來(lái)存儲(chǔ)用戶按下的鍵。為此,我們使用 key 模塊的 get_pressed() 函數(shù)。

語(yǔ)法

get_pressed()

它返回一個(gè)布爾值序列,表示鍵盤上每個(gè)鍵的狀態(tài)。

示例:連續(xù)移動(dòng)玩家

# 導(dǎo)入 pygame 模塊
import pygame
from pygame.locals import *
 
# 啟動(dòng) pygame 并授予使用 pygame 功能的權(quán)限
pygame.init()
 
# 創(chuàng)建特定尺寸的顯示面對(duì)象
window = pygame.display.set_mode((600, 600))
 
# 在窗口中添加標(biāo)題
pygame.display.set_caption('玩家移動(dòng)')
 
# 初始化時(shí)鐘 時(shí)鐘用于跟蹤和控制游戲的幀速率
clock = pygame.time.Clock()
 
# 添加玩家精靈
image = pygame.image.load(r'haiyong.png')
 
 
# 將玩家的初始坐標(biāo)存儲(chǔ)在兩個(gè)變量中,即 x 和 y
x = 100
y = 100
 
# 創(chuàng)建一個(gè)變量來(lái)存儲(chǔ)玩家移動(dòng)的速度
velocity = 12
 
# 創(chuàng)建無(wú)限循環(huán)
run = True
while run:
 
	# 將幀速率設(shè)置為 60 fps
	clock.tick(60)
 
	# 用白色填充背景
	window.fill((255, 255, 255))
 
	# 在 x 和 y 坐標(biāo)處顯示玩家精靈
	window.blit(image, (x, y))
 
	# 迭代 pygame.event.get() 方法返回的 Event 對(duì)象列表。
	for event in pygame.event.get():
 
		# 如果事件類型為 QUIT,則關(guān)閉窗口和程序
		if event.type == pygame.QUIT:
			run = False
			pygame.quit()
			quit()
 
	# 使用 key.get_pressed() 方法將按下的鍵存儲(chǔ)在新變量中
	key_pressed_is = pygame.key.get_pressed()
 
	# 改變玩家坐標(biāo)
	if key_pressed_is[K_LEFT]:
		x -= 8
	if key_pressed_is[K_RIGHT]:
		x += 8
	if key_pressed_is[K_UP]:
		y -= 8
	if key_pressed_is[K_DOWN]:
		y += 8
 
	# 將表面對(duì)象繪制到屏幕上
	pygame.display.update()

輸出:

翻轉(zhuǎn)玩家精靈

您可以使用 pygame 的轉(zhuǎn)換模塊的 flip() 函數(shù)輕松翻轉(zhuǎn)任何精靈。例如,如果我們想在玩家改變移動(dòng)方向時(shí)翻轉(zhuǎn)精靈,那么我們可以使用下面的代碼

window.blit(pygame.transform.flip(image, False, True), (x,y))

flip() 函數(shù)用于水平、垂直翻轉(zhuǎn)表面對(duì)象。 或兩者。 這個(gè)函數(shù)有三個(gè)參數(shù):

  • 要翻轉(zhuǎn)的圖像
  • 進(jìn)行水平翻轉(zhuǎn)的布爾值
  • 進(jìn)行垂直翻轉(zhuǎn)的布爾值

下面是實(shí)現(xiàn)。

示例:翻轉(zhuǎn)播放器圖像

輸出:

我們還可以通過(guò)創(chuàng)建精靈列表輕松更新玩家精靈。

image = [pygame.image.load(r'haiyong.png'),
pygame.image.load(r'haiyong2.png')]

示例:更新精靈

# 導(dǎo)入 pygame 模塊
import pygame
from pygame.locals import *
 
# 啟動(dòng) pygame 并授予使用 pygame 功能的權(quán)限
pygame.init()
 
# 創(chuàng)建特定尺寸的顯示面對(duì)象
window = pygame.display.set_mode((600, 600))
 
# 在窗口中添加標(biāo)題
pygame.display.set_caption('玩家切換')
 
# 初始化時(shí)鐘 時(shí)鐘用于跟蹤和控制游戲的幀速率
clock = pygame.time.Clock()
 
# 創(chuàng)建一個(gè)變量來(lái)檢查運(yùn)動(dòng)方向
# 每當(dāng)玩家改變方向時(shí),我們就會(huì)改變它的值
direction = True
 
 
# 在列表中添加玩家精靈
image = [pygame.image.load(r'haiyong.png'),
		pygame.image.load(r'haiyong2.png')]
 
 
# 將玩家的初始坐標(biāo)存儲(chǔ)在兩個(gè)變量中,即 x 和 y
x = 100
y = 100
 
# 創(chuàng)建一個(gè)變量來(lái)存儲(chǔ)玩家移動(dòng)的速度
velocity = 12
 
# 創(chuàng)建無(wú)限循環(huán)
run = True
while run:
 
	# 將幀速率設(shè)置為 60 fps
	clock.tick(60)
 
	# 用淺灰藍(lán)色填充背景
	window.fill((176, 224, 230))
 
	# 在 x 和 y 坐標(biāo)處顯示玩家精靈
    # 如果玩家改變方向,則改變玩家精靈
	if direction == True:
		window.blit(image[0], (x, y))
	if direction == False:
		window.blit(image[1], (x, y))
 
	# 迭代 pygame.event.get() 方法返回的 Event 對(duì)象列表。
	for event in pygame.event.get():
 
		# 如果事件類型為 QUIT,則關(guān)閉窗口和程序
		if event.type == pygame.QUIT:
			run = False
			pygame.quit()
			quit()
 
		# 改變方向變量的值
		if event.type == pygame.KEYDOWN:
			if event.key == pygame.K_RIGHT:
				direction = True
			elif event.key == pygame.K_LEFT:
				direction = False
 
	# 使用 key.get_pressed() 方法將按下的鍵存儲(chǔ)在新變量中
	key_pressed_is = pygame.key.get_pressed()
 
	# 改變玩家坐標(biāo)
	if key_pressed_is[K_LEFT]:
		x -= 5
	if key_pressed_is[K_RIGHT]:
		x += 5
	if key_pressed_is[K_UP]:
		y -= 5
	if key_pressed_is[K_DOWN]:
		y += 5
 
	# 將表面對(duì)象繪制到屏幕上
	pygame.display.update()

換張圖試試

到此這篇關(guān)于教你如何在Pygame 中移動(dòng)你的游戲角色的文章就介紹到這了,更多相關(guān)Pygame移動(dòng)游戲角色內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Pygame做一期吃豆子游戲的示例代碼
  • Python3+Pygame實(shí)現(xiàn)射擊游戲完整代碼
  • python pygame 憤怒的小鳥(niǎo)游戲示例代碼
  • python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲
  • python+pygame實(shí)現(xiàn)坦克大戰(zhàn)小游戲的示例代碼(可以自定義子彈速度)
  • 使用pygame實(shí)現(xiàn)垃圾分類小游戲功能(已獲校級(jí)二等獎(jiǎng))

標(biāo)簽:廣西 吉安 呂梁 安康 蘭州 紹興 懷化 蕪湖

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你如何在Pygame 中移動(dòng)你的游戲角色》,本文關(guān)鍵詞  教你,如,何在,Pygame,中,移動(dòng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《教你如何在Pygame 中移動(dòng)你的游戲角色》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于教你如何在Pygame 中移動(dòng)你的游戲角色的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    最新不卡av在线| 1区2区3区国产精品| 久久午夜羞羞影院免费观看| 日韩一卡二卡三卡| 亚洲三级电影全部在线观看高清| 天天综合天天综合色| 国产毛片一区二区| 4438x成人网最大色成网站| 亚洲视频免费看| 国产传媒欧美日韩成人| 日韩一卡二卡三卡| 亚洲精品国产成人久久av盗摄| 国产一区二区成人久久免费影院| 欧美久久久久久久久| 亚洲欧洲综合另类| 国产91色综合久久免费分享| 日韩免费一区二区三区在线播放| 亚洲一区自拍偷拍| 色妞www精品视频| 亚洲欧洲99久久| 成人免费精品视频| 日韩欧美一区二区视频| 国产精品素人一区二区| 懂色av中文一区二区三区| 国产亚洲欧美一区在线观看| 激情久久五月天| 欧美一区二区三区免费| 日欧美一区二区| 久久99精品一区二区三区三区| 欧美日韩一级黄| 亚洲高清一区二区三区| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲成人自拍| 成人h动漫精品一区二| 日韩精品一区国产麻豆| 麻豆成人免费电影| 久久先锋影音av鲁色资源网| 国产在线精品一区二区不卡了 | 777午夜精品视频在线播放| 一区二区三区欧美| 欧美日韩视频在线第一区| 日本最新不卡在线| 欧美哺乳videos| 国产精品一区二区久久精品爱涩 | 日本在线播放一区二区三区| 91精品国产91久久久久久一区二区 | 成人深夜福利app| 欧美日本高清视频在线观看| 日韩在线一区二区| www欧美成人18+| 国产成人精品亚洲午夜麻豆| 国产精品私人自拍| 欧美性感一类影片在线播放| 午夜精品久久久久久不卡8050| 精品久久久久久亚洲综合网 | xnxx国产精品| 成人精品高清在线| 香蕉乱码成人久久天堂爱免费| 日韩欧美在线网站| 国产精品99久久久久久久vr| 国产免费成人在线视频| 欧美午夜精品一区| 极品少妇一区二区| 亚洲天堂成人在线观看| 日韩亚洲欧美在线| 国产成人免费在线| 婷婷成人综合网| 国产精品网友自拍| 欧美一级电影网站| 91免费看片在线观看| 男人操女人的视频在线观看欧美| 亚洲国产精品精华液2区45| 欧美三区在线观看| 成人午夜av影视| 美国三级日本三级久久99| 18成人在线观看| 91搞黄在线观看| 成人深夜福利app| 国产在线视视频有精品| 人人狠狠综合久久亚洲| 亚洲黄色av一区| 国产调教视频一区| 精品国产乱码久久久久久影片| 欧美精品色一区二区三区| 日本久久精品电影| 99精品热视频| 成人黄色国产精品网站大全在线免费观看 | 国内精品免费**视频| 国产精品成人一区二区艾草 | 欧美一二三四区在线| 欧美性高清videossexo| 91麻豆产精品久久久久久| 国产精品一二三区| 国产激情一区二区三区| 天堂久久一区二区三区| 亚洲制服丝袜av| 亚洲精品国产一区二区精华液| 一区二区三区中文字幕| 亚洲影视在线观看| 一区二区三区免费在线观看| 亚洲成人在线网站| 国产一区二区在线看| 99riav一区二区三区| 欧美老女人在线| 国产亚洲一本大道中文在线| 一二三四社区欧美黄| 免费成人性网站| 国产精品1024久久| 欧美人牲a欧美精品| 国产欧美精品一区| 日本vs亚洲vs韩国一区三区| 不卡的av电影| 欧美一区欧美二区| 国产精品国产三级国产普通话三级| 亚洲蜜桃精久久久久久久| 日本午夜一本久久久综合| 国产91精品精华液一区二区三区 | 日韩av中文在线观看| 成人精品高清在线| 欧美日韩国产综合视频在线观看| 久久久久免费观看| 丝袜亚洲精品中文字幕一区| 成人高清视频免费观看| 日韩欧美一二三| 亚洲国产精品自拍| 欧美主播一区二区三区| 日本一二三不卡| 国产一区欧美二区| 日韩一卡二卡三卡四卡| 亚洲伊人色欲综合网| 99国产精品视频免费观看| 国产亚洲精久久久久久| 婷婷六月综合亚洲| 91国在线观看| 久久99精品视频| 亚洲天堂a在线| 欧美一级欧美三级在线观看| 波多野结衣亚洲一区| 蜜桃精品视频在线观看| 色婷婷综合久久久中文一区二区| 国产欧美综合在线观看第十页 | 麻豆免费精品视频| 欧美一区二区三区免费在线看| 视频一区中文字幕| 欧美精品一二三四| 免费在线成人网| 欧美大片国产精品| 久88久久88久久久| 韩日av一区二区| 国产无遮挡一区二区三区毛片日本| 激情综合色播激情啊| 在线91免费看| 91丨porny丨户外露出| 亚洲一级电影视频| 欧美成人bangbros| 欧美日韩久久一区| 波多野结衣视频一区| 中文字幕免费一区| 热久久一区二区| 精品电影一区二区| 成人av高清在线| 亚洲国产精品久久一线不卡| 欧美福利电影网| 极品少妇xxxx精品少妇偷拍| 欧美高清在线一区| 91蝌蚪porny九色| 亚洲国产日韩精品| 精品国产一区二区精华| 国产乱对白刺激视频不卡| 国产亚洲精品超碰| av午夜一区麻豆| 亚洲乱码国产乱码精品精的特点 | 一本一道综合狠狠老| 性做久久久久久免费观看欧美| 日韩欧美一区二区在线视频| 国产精品91xxx| 亚洲精品久久久蜜桃| 欧美三级日韩三级| 蜜桃视频在线一区| 国产精品理论在线观看| 99国产欧美另类久久久精品| 久久精品国产**网站演员| 日韩一区在线免费观看| 欧美一级精品大片| 成人黄色电影在线| 精品一区精品二区高清| 国产精品家庭影院| 91精品国产综合久久久久久久| 国产中文一区二区三区| 亚洲自拍与偷拍| 中文字幕一区三区| 欧美一区二区三区不卡| 精品亚洲国内自在自线福利| 成人黄色电影在线| 亚洲高清免费一级二级三级| 久久众筹精品私拍模特| 精品国产一区二区三区忘忧草| 国产成人综合网| 成人小视频在线观看| 成人黄色免费短视频|