pygame学习笔记(3):运动速率、时间、事件、文字
1、运动速率
上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200)来进行时间延迟。看了很多参考材料,基本每个材料都会谈到不同配置机器下运动速率的问题,有的是通过设定频率解决,有的是通过设定速度解决,自己本身水平有限,看了几篇,觉得还是《Beginning Game Development with Python and Pygame》这里面提到一个方法比较好。代码如下,代码里更改的地方主要是main里的代码,其中利用clock=pygame.time.Clock()来定义时钟,speed=250.0定义了速度,每秒250像素,time_passed=clock.tick()为上次运行时间单位是毫秒,time_passed_seconds=time_passed/1000.0将单位改为秒,distance_moved=time_passed_seconds*speed时间乘以速度得到移动距离,这样就能保证更加流畅。
import pygame,sys
def lineleft():
plotpoints=[]
for x in range(0,640):
y=-5*x+1000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def lineright():
plotpoints=[]
for x in range(0,640):
y=5*x-2000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def linemiddle():
plotpoints=[]
x=300
for y in range(0,480,20):
plotpoints.append([x,y])
if len(plotpoints)==2:
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
plotpoints=[]
pygame.display.flip()
def loadcar(yloc):
my_car=pygame.image.load('ok1.jpg')
locationxy=[310,yloc]
screen.blit(my_car,locationxy)
pygame.display.flip()
if __name__=='__main__':
pygame.init()
screen=pygame.display.set_caption('hello world!')
screen=pygame.display.set_mode([640,480])
screen.fill([255,255,255])
lineleft()
lineright()
linemiddle()
clock=pygame.time.Clock()
looper=480
speed=250.0
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
pygame.draw.rect(screen,[255,255,255],[310,(looper+132),83,132],0)
time_passed=clock.tick()
time_passed_seconds=time_passed/1000.0
distance_moved=time_passed_seconds*speed
looper-=distance_moved
if looper
looper=480
loadcar(looper)
2、事件
我理解的就是用来解决键盘、鼠标、遥控器等输入后做出什么反映的。例如上面的例子,可以通过按上方向键里向上来使得小车向上移动,按下向下,使得小车向下移动。当小车从下面倒出时,会从上面再出现,当小车从上面驶出时,会从下面再出现。代码如下。event.type == pygame.KEYDOWN用来定义事件类型,if event.key==pygame.K_UP这里是指当按下向上箭头时,车前进。if event.key==pygame.K_DOWN则相反,指按下向下箭头,车后退。
import pygame,sys
def lineleft():
plotpoints=[]
for x in range(0,640):
y=-5*x+1000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def lineright():
plotpoints=[]
for x in range(0,640):
y=5*x-2000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def linemiddle():
plotpoints=[]
x=300
for y in range(0,480,20):
plotpoints.append([x,y])
if len(plotpoints)==2:
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
plotpoints=[]
pygame.display.flip()
def loadcar(yloc):
my_car=pygame.image.load('ok1.jpg')
locationxy=[310,yloc]
screen.blit(my_car,locationxy)
pygame.display.flip()
if __name__=='__main__':
pygame.init()
screen=pygame.display.set_caption('hello world!')
screen=pygame.display.set_mode([640,480])
screen.fill([255,255,255])
lineleft()
lineright()
linemiddle()
looper=480
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key==pygame.K_UP:
looper=looper-50
if looper
looper=480
pygame.draw.rect(screen,[255,255,255],[310,(looper+132),83,132],0)
loadcar(looper)
if event.key==pygame.K_DOWN:
looper=looper+50
if looper>480:
looper=-480
pygame.draw.rect(screen,[255,255,255],[310,(looper-132),83,132],0)
loadcar(looper)
3、字体及字符显示
使用字体模块用来做游戏的文字显示,大部分游戏都会有诸如比分、时间、生命值等的文字信息。pygame主要是使用pygame.font模块来完成,常用到的一些方法是:
pygame.font.SysFont(None, 16),第一个参数是说明字体的,可以是"arial"等,这里None表示默认字体。第二个参数表示字的大小。如果无法知道当前系统中装了哪些字体,可以使用pygame.font.get_fonts()来获得所有可用字体。
pygame.font.Font("AAA.ttf", 16),用来使用TTF字体文件。
render("hello world!", True, (0,0,0), (255, 255, 255)),render方法用来创建文字。第一个参数是写的文字;第二个参数是否开启抗锯齿,就是说True的话字体会比较平滑,不过相应的速度有一点点影响;第三个参数是字体的颜色;第四个是背景色,无表示透明。
下面将上面的例子添加当前汽车坐标:
import pygame,sys
def lineleft():
plotpoints=[]
for x in range(0,640):
y=-5*x+1000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def lineright():
plotpoints=[]
for x in range(0,640):
y=5*x-2000
plotpoints.append([x,y])
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
pygame.display.flip()
def linemiddle():
plotpoints=[]
x=300
for y in range(0,480,20):
plotpoints.append([x,y])
if len(plotpoints)==2:
pygame.draw.lines(screen,[0,0,0],False,plotpoints,5)
plotpoints=[]
pygame.display.flip()
def loadcar(yloc):
my_car=pygame.image.load('ok1.jpg')
locationxy=[310,yloc]
screen.blit(my_car,locationxy)
pygame.display.flip()
def loadtext(xloc,yloc):
textstr='location:'+str(xloc)+','+str(yloc)
text_screen=my_font.render(textstr, True, (255, 0, 0))
screen.blit(text_screen, (50,50))
if __name__=='__main__':
pygame.init()
screen=pygame.display.set_caption('hello world!')
screen=pygame.display.set_mode([640,480])
my_font=pygame.font.SysFont(None,22)
screen.fill([255,255,255])
loadtext(310,0)
lineleft()
lineright()
linemiddle()
looper=480
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key==pygame.K_UP:
looper=looper-50
if looper
looper=480
if event.key==pygame.K_DOWN:
looper=looper+50
if looper>480:
looper=-132
loadtext(310,looper)
screen.fill([255,255,255])
loadtext(310,looper)
lineleft()
lineright()
linemiddle()
loadcar(looper)
这个例子里直接让背景重绘一下,就不会再像1、2里面那样用空白的rect去覆盖前面的模块了。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Zeichnen Sie zunächst einen Kreis in PPT, fügen Sie dann ein Textfeld ein und geben Sie den Textinhalt ein. Legen Sie abschließend die Füllung und den Umriss des Textfelds auf „Keine“ fest, um die Erstellung kreisförmiger Bilder und Texte abzuschließen.

Wenn wir täglich Word-Dokumente erstellen, müssen wir manchmal Punkte unter bestimmten Wörtern im Dokument hinzufügen, insbesondere wenn es Testfragen gibt. Um diesen Teil des Inhalts hervorzuheben, gibt Ihnen der Herausgeber Tipps zum Hinzufügen von Punkten zu Text in Word. Ich hoffe, dass es Ihnen helfen kann. 1. Öffnen Sie ein leeres Word-Dokument. 2. Fügen Sie beispielsweise Punkte unter den Worten „So fügen Sie Punkte zum Text hinzu“ hinzu. 3. Wir wählen zunächst mit der linken Maustaste die Wörter „So fügen Sie Punkte zum Text hinzu“ aus. Beachten Sie, dass Sie, wenn Sie in Zukunft Punkte zu diesem Wort hinzufügen möchten, zunächst das Wort mit der linken Maustaste auswählen müssen . Heute fügen wir diesen Wörtern Punkte hinzu, daher haben wir mehrere Wörter ausgewählt. Wählen Sie diese Wörter aus, klicken Sie mit der rechten Maustaste und klicken Sie im Popup-Funktionsfeld auf Schriftart. 4. Dann erscheint so etwas

Auf der Douyin-Plattform streben viele Benutzer danach, eine Level-Zertifizierung zu erhalten, und das Lichtzeichen der Stufe 10 zeigt den Einfluss und die Anerkennung des Benutzers auf Douyin. In diesem Artikel geht es um den Preis der Level-10-Lightboards von Douyin und um die Zeit, die es braucht, um dieses Level zu erreichen, um den Benutzern ein besseres Verständnis des Prozesses zu ermöglichen. 1. Wie viel kostet ein Douyin-Lichtschild der Stufe 10? Der Preis der 10-stufigen Lichtschilder von Douyin variiert je nach Marktschwankungen sowie Angebot und Nachfrage. Der allgemeine Preis liegt zwischen einigen tausend Yuan und zehntausend Yuan. In diesem Preis sind hauptsächlich die Kosten für das Lichtschild selbst und eventuelle Servicegebühren enthalten. Benutzer können Lichtschilder der Stufe 10 über die offiziellen Kanäle von Douyin oder über Drittanbieter-Serviceagenturen kaufen, sollten beim Kauf jedoch auf legale Kanäle achten, um falsche oder betrügerische Transaktionen zu vermeiden. 2. Wie viele Tage dauert die Erstellung eines Level-10-Fanschilds? Erreiche das Lichtzeichen der Stufe 10

Details zur Pygame-Installation: Bringen Sie Ihnen Schritt für Schritt bei, wie Sie die Entwicklungsumgebung installieren und konfigurieren. Es sind spezifische Codebeispiele erforderlich. Einführung: Pygame ist eine Python-basierte Spieleentwicklungsbibliothek. Sie bietet eine Fülle von Tools und Funktionen, um die Spieleentwicklung einfach und interessant zu gestalten . In diesem Artikel wird detailliert beschrieben, wie Pygame installiert, die Entwicklungsumgebung konfiguriert und spezifische Codebeispiele bereitgestellt werden. Teil 1: Pygame installieren Python installieren: Bevor Sie mit der Installation von Pygame beginnen, müssen Sie zunächst sicherstellen, dass Pyt auf Ihrem Computer installiert ist.

Xiaohongshu, eine Plattform voller Leben und Wissensaustausch, ermöglicht es immer mehr Kreativen, ihre Meinung frei zu äußern. Um mehr Aufmerksamkeit und Likes auf Xiaohongshu zu bekommen, ist neben der Qualität der Inhalte auch der Zeitpunkt der Veröffentlichung der Werke entscheidend. Wie legt man also den Zeitpunkt fest, zu dem Xiaohongshu seine Werke veröffentlichen soll? 1. Wie legt man den Zeitpunkt für die Veröffentlichung von Werken auf Xiaohongshu fest? 1. Verstehen Sie die aktive Zeit der Benutzer. Zunächst muss die aktive Zeit der Xiaohongshu-Benutzer geklärt werden. Im Allgemeinen sind 20:00 bis 22:00 Uhr und Wochenendnachmittage die Zeiten, in denen die Benutzeraktivität hoch ist. Allerdings variiert dieser Zeitraum auch je nach Faktoren wie Zielgruppensegment und Geografie. Um die aktive Zeit der Nutzer besser zu erfassen, empfiehlt es sich daher, eine detailliertere Analyse der Verhaltensgewohnheiten verschiedener Gruppen durchzuführen. Indem wir das Leben der Benutzer verstehen

Spieler können die Haupthandlung des Spiels erleben und Spielerfolge sammeln, wenn sie in Elden's Circle spielen. Viele Spieler wissen nicht, wie lange es dauert, Elden's Circle zu bewältigen. Wie lange dauert es, den Elden Ring zu räumen? Antwort: 30 Stunden. 1. Diese 30-Stunden-Räumungszeit bezieht sich zwar nicht auf einen meisterhaften Speed-Pass, lässt aber auch viele Prozesse aus. 2. Wenn Sie ein besseres Spielerlebnis erhalten oder die komplette Handlung erleben möchten, müssen Sie auf jeden Fall mehr Zeit in die Dauer investieren. 3. Wenn die Spieler sie alle sammeln, dauert es etwa 100–120 Stunden. 4. Wenn Sie zum Bürsten von BOSS nur den Hauptfaden verwenden, dauert dies etwa 50–60 Stunden. 5. Wenn Sie alles erleben möchten: 150 Stunden Basiszeit.

Ausführliche Erläuterung der Linux-Techniken zur Dateizeitanzeige In Linux-Systemen sind Dateizeitinformationen für die Dateiverwaltung und Nachverfolgung von Änderungen sehr wichtig. Das Linux-System zeichnet Dateiänderungsinformationen über drei Hauptzeitattribute auf, nämlich Zugriffszeit (atime), Änderungszeit (mtime) und Änderungszeit (ctime). In diesem Artikel wird detailliert beschrieben, wie diese Dateizeitinformationen angezeigt und verwaltet werden, und es werden spezifische Codebeispiele bereitgestellt. 1. Überprüfen Sie die Dateizeitinformationen, indem Sie den Befehl ls mit dem Parameter -l verwenden, um die Dateien aufzulisten.

Lernen Sie Pygame von Grund auf: Komplettes Installations- und Konfigurations-Tutorial, spezifische Codebeispiele erforderlich. Einführung: Pygame ist eine Open-Source-Spieleentwicklungsbibliothek, die mit der Programmiersprache Python entwickelt wurde. Sie bietet eine Fülle von Funktionen und Tools, mit denen Entwickler problemlos eine Vielzahl von Typen erstellen können des Spiels. Dieser Artikel hilft Ihnen, Pygame von Grund auf zu erlernen und bietet ein vollständiges Installations- und Konfigurations-Tutorial sowie spezifische Codebeispiele, um Ihnen einen schnellen Einstieg zu erleichtern. Teil eins: Python und Pygame installieren Stellen Sie zunächst sicher, dass Sie dies getan haben
