1. 程式人生 > 其它 >Python:pyglet學習(3):遊戲迴圈

Python:pyglet學習(3):遊戲迴圈

在我們編遊戲時,經常會用到一個無限迴圈,這就叫遊戲迴圈。

先用@win.event試試

import pyglet as p
win=p.window.Window(800,600)
@win.event
def on_draw():
    print(1)
#p.clock.schedule_interval(on_draw, 1/30.0)
p.app.run()

效果:我按一個鍵輸出一個1

之後介紹一下

p.clock.schedule_interval

第一個引數是函式名,第二個引數是每兩次呼叫之間隔的時間(函式裡得寫個引數)

改一下

import pyglet as p
win=p.window.Window(800,600)
#@win.event def on_draw(a): print(1) p.clock.schedule_interval(on_draw, 1/30.0) p.app.run()

效果:不停的輸出1

把a列印下試試

0.05660950002493337
0.0740413999883458
0.033342699985951185
0.033985899994149804
0.04058590001659468
0.041392399987671524
0.03336010000202805
0.033347100019454956
0.033443399996031076
0.03335849998984486
0.03334090003045276
0.03493049996905029
0.041071000043302774
0.0346817999961786
0.03557169996201992
0.03436869999859482
0.0352083999896422
0.0333424000418745
0.03333629999542609
0.03335559996776283
0.033366499992553145
0.03386410005623475
0.0336503999424167
0.033341200032737106
0.03335990000050515
0.03605449997121468
0.03365050000138581
0.0333538000122644
0.03394799999659881
0.034999100025743246
0.033438999962527305
0.03334670001640916
0.047945300000719726
0.03412570001091808
0.03438530000858009
0.038513500010594726
0.04245730000548065
0.03495509998174384
0.033440499973949045
0.0333661999902688
0.0402608000440523
0.04142129997489974
0.03336900001158938
0.03335949999745935
0.03441080002812669
0.039411199977621436
0.03954249998787418
0.0333348999847658
0.036194999993313104
0.03380590002052486
0.03363499999977648
0.04071410000324249
0.0339494000072591
0.03355250001186505
0.04098809999413788
0.03346780000720173
0.03335689997766167
0.03526400000555441
0.03745800000615418
0.0423008999787271
0.03464790002908558
0.03450189996510744
0.0341360000311397
0.03393450001021847
0.03442199999699369
0.03335829998832196
0.03450959996553138
0.03425940003944561
0.04106869996758178
0.04056230001151562
0.04075600003125146
0.03422059997683391
0.03354209999088198
0.033409700030460954
0.03366019995883107
0.040933100041002035
0.03348679997725412
0.03334219998214394
0.040681100043002516
0.03381120000267401
0.033336899999994785
0.033400399959646165
0.03382080001756549
0.039900399977341294
0.03365520003717393
0.033365099981892854
0.034513199992943555
0.0338560999953188
0.03390949999447912
0.03457810002146289
0.04682639997918159
0.033335400046780705
0.03334809996886179
0.04023600002983585
0.03479839995270595
0.03334980004001409
0.03367989999242127
0.033348399971146137
0.03403500001877546
0.03798690001713112
0.03334520000498742
0.04066969995619729
0.033665700000710785
0.04155470000114292
0.03407850000075996
0.0345079000107944
0.03531840001232922
0.034098299976903945
0.03755250002723187
0.03343229996971786
0.04130440001608804
0.03356150002218783
0.04139939998276532
0.04333700001006946
0.036394199996721
0.037298900017049164
0.03335969999898225
0.033421400003135204
0.03456409997306764
0.04085039999336004
0.03334389999508858
0.033723400032613426
0.03341269999509677
0.04097500001080334
0.03333889995701611
0.042976099997758865
0.0333661999902688
0.037238100019749254
0.04251270001986995
0.03344389999983832
0.039611599990166724
0.03982120001455769
0.03554660000372678
0.033384199952706695
0.0333422000403516
0.03863550000824034
0.03420150000602007
0.048743899969849735
0.033354600018355995
0.034667500003706664
0.04691889998503029
0.04154130001552403
0.033976799983065575
0.03815480001503602
0.03475379996234551
0.0382996000116691
0.033621500013396144
0.033557599992491305
0.04040220001479611
0.035686699964571744
0.04335170000558719
0.056337399990297854
0.042114000010769814
0.0469431999954395
0.04769160004798323
0.04373869998380542
0.05075329996179789
0.04096650000428781
0.03494800004409626
0.0376960999565199
0.041915400011930615
0.043472699995618314
0.04890360002173111
0.05965720000676811
0.07955779996700585
0.03334330004872754
0.04001909994985908
0.03997630003141239
0.03518860001349822
0.03334379999432713
0.03333800000837073
0.03678489994490519
0.04186290001962334
0.03594229998998344
0.034319000027608126
0.033924799994565547
0.03335859999060631
0.0403156999964267
0.05094400001689792
0.0345196999842301
0.03608759999042377
0.041167000017594546
0.03450060001341626
0.03333810000913218
0.03351119998842478
0.03333659999771044
0.033341299975290895
0.03375210001831874
0.03455280000343919
0.041061799973249435
0.03336440003477037
0.03336419997503981
0.039221599989105016
0.033907500037457794
0.03471079998416826
0.03334939997876063
0.03334340004948899
0.033650799945462495
0.040032500051893294
0.04958829999668524
0.03738409996731207
0.03469520004000515
0.03736009995918721
0.034338400000706315
0.03335779998451471
0.0360043000546284
0.038089599984232336
0.0335522000095807
0.035445299989078194
0.034867200010921806
0.0344766000052914
0.033333999977912754
0.03350359998876229
0.04015780001645908
0.04013779998058453
0.03470479999668896
0.03334060002816841
0.03334739996353164
0.03336870000930503
0.03472270001657307
0.033370799967087805
0.0333478000247851
0.034987499995622784
0.03408760001184419
0.03374919999623671
0.033403599984012544
0.03359690000070259
0.0385857000364922
0.03566659998614341
0.03368519997457042
0.03463529999135062
0.035238000040408224
0.03338789998088032
0.0353453999850899
0.03334490000270307
0.03840000001946464
0.03334909997647628
0.04774520004866645
0.03378369996789843
0.033340000023599714
0.03333730000304058
0.03431969997473061
0.036342900013551116
0.035080900008324534
0.03336299996590242
0.03554360003909096
0.033418499981053174
0.03848170000128448
0.03606780001427978
0.03565639996668324
0.043962900002952665
0.03336460003629327
0.04178579995641485
0.042346700036432594
0.04117489996133372
0.03462350001791492
0.04252780001843348
0.0341972999740392
0.03400330001022667
0.03335199999855831
0.033369300013873726
0.033683499961625785
0.03392700001131743
0.03334299998823553
0.03354850003961474
0.04068769997684285
0.033384200010914356
0.0333348999847658
0.033403699984773993
0.03389920003246516
0.04020230000605807
0.033337000000756234
0.04071420000400394
0.04123769997386262
0.04359620000468567
0.03347120003309101
0.033566300000529736
0.035514999995939434
0.03556329995626584
0.046302300004754215
0.04062010004417971
0.041026399994734675
0.04162159998668358
0.03425610001431778
0.03784329997142777
0.03420529997674748
0.03617750003468245
0.039109000004827976
0.03807720000622794
0.03871569997863844
0.03822290000971407
0.04109329998027533
0.033334100036881864
0.04073659999994561
0.0413517999695614
0.03414050000719726
0.034083599981386214
0.034172700019553304
0.04090419999556616
0.03337030002148822
0.03741609997814521
0.041985200019553304
0.03337469999678433
0.04141060000983998
0.034153199987486005
0.03438799997093156
0.04072470002574846
0.03366760001517832
0.041023399971891195
0.033568000013474375
0.033350199984852225
0.03333599999314174
0.03348780004307628
0.033581499999854714
0.0407126999925822
0.0333466999582015
0.03362510004080832
0.03401070000836626
0.04105709999566898
0.03405909996945411
0.040901800035499036
0.041095799999311566
0.0334957999875769
0.04179779998958111
0.034303000022191554
0.04057919996557757
0.04021790000842884
0.03367089998209849
0.041300600045360625
0.03426489996491
0.033526599989272654
0.03407540003536269
0.033677699975669384
0.04803820000961423
0.033345600008033216
0.04044139996403828
0.03433300001779571
0.04578410001704469
0.03335410001454875
0.03333449998172
0.04076679999707267
0.03335639997385442
0.03337740001734346
0.04029520001495257
0.03334739996353164
0.033345900010317564
0.03592910000588745
0.03333860001293942
0.0402170000015758
0.04175460000988096
0.04131579998647794
0.03362519998336211
0.0405824999907054
0.043293400027323514
0.04156320000765845
0.03335809998679906
0.03359280002769083
0.04060749994823709
0.03335080004762858
0.04855619999580085
0.03396579995751381
0.03651140001602471
0.0363453000318259
0.03498060000129044
0.03333659999771044
0.03335489996243268
0.03452129999641329
0.03985380002995953
0.04095739999320358
0.034520699991844594
0.03360830002930015
0.034264399961102754
0.035655700019560754
0.0334963999921456
0.03948869998566806
0.03582480002660304
0.03372619999572635
0.03429909999249503
0.04046460002427921
0.0343954999698326
0.04127280000830069
0.03334249998442829
0.03335089999018237
0.04020610003499314
0.03484139998909086
0.04022889997577295
0.03335500002140179
0.03340680000837892
0.03512469999259338
0.0333540000137873
0.037161100015509874
0.033517699979711324
0.03335059998789802
0.03354149998631328
0.041226200002711266
0.03592100000241771
0.033898500027135015
0.03371419996256009
0.03333750000456348
0.033803400001488626
0.03334320004796609
0.03354819997912273
0.03352389996871352
0.037020400050096214
0.03335809998679906
0.035375399980694056
0.034415500005707145
點+號顯示

這是每一次的實際間隔時間

如果把p.clock.schedule_interval(on_draw, 1/30.0)改成p.clock.schedule_interval(on_draw, 1/5.0)

輸出變成:

0.2059229999431409
0.2083748000441119
0.20086059998720884
0.20008139999117702
0.20684180001262575
0.2000222000060603
0.20001299999421462
0.20991719997255132
0.20586500002536923
0.20001289999345317