首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我将如何设置一个计时器与游戏和直播?

我将如何设置一个计时器与游戏和直播?
EN

Stack Overflow用户
提问于 2013-11-11 16:59:54
回答 1查看 154关注 0票数 0

因此,在我正在创建的游戏中,当玩家拿起速度提升的精灵,我希望玩家的速度周期性地提升大约5秒,有人能帮助我理解如何做到这一点吗?“句柄捕获”方法将包含速度提升的代码,播放机的实际速度也被设置为等于2的全局变量“速度”。

代码语言:javascript
复制
class Addspeed(games.Sprite):
    image = games.load_image('addspeed.png')
    speed = 2

    def __init__(self,x,y = 10):
        super(Addspeed, self).__init__(image = Addspeed.image,
                                       x = x, y = y,
                                       dy = Addspeed.speed)
    def update(self):
        if self.bottom>games.screen.height:
            self.destroy()

    def handle_caught(self):
        global speed
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-11 18:14:18

如果你的游戏够大的话,我建议你找个计时器经理。有一个基于pygame.Clock的大计时器。创建方法,以注册时间和在时间流逝时要调用的方法。所以,就像:

代码语言:javascript
复制
timerMananger.register(self.myMethod,5000) 
# registers an event to be called after 5 seconds

经理应该包括时钟,并有一个优先队列的任务要完成。下面是一个简短的草图,说明这是什么样子的:

代码语言:javascript
复制
def register(myMethod,t):
    pqueue.add(myMethod,time_now+t)

def tick():
    clock.tick()
    if(time_now > pqueue[0]):
        pqueue.pop()[0]()

这样,您只检查最近的事件。如果会有许多事件,您可以将if更改为a while循环,以便所有事件都能一次处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19911812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档