微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygame在重新初始化后没有收到滚动事件

如何解决pygame在重新初始化后没有收到滚动事件

我正在为学校项目制作游戏,我的游戏中有滚动内容。我需要重新初始化 pygame 以确保每个都被重置。但不知何故,重新初始化 pygame 后滚动停止工作。

我编写了一个简单的脚本来测试是否真的如此,并且确实如此。

@media screen and (min-width:1000px){
 $font-sm:      13px;
 $font-default: 15px;
 $font-md:      18px;
}
@media screen and (max-width:999px){
 $font-sm:      10px;
 $font-default: 12px;
 $font-md:      14px;
}

它获得左键点击事件,而不是滚动事件。 有什么办法可以解决这个问题吗?

解决方法

不要使用 pygame.MOUSEBUTTONDOWN 进行滚动。

我找到了另一种使用 pygame.MOUSEWHEEL 映射滚动的方法。

这是修改后的代码:

import pygame

def main():
    while True:
        
        pygame.init()

        screen = pygame.display.set_mode([1280,720])
        pygame.display.set_caption("PYGAME DOES NOT RECEIVE SCROLL EVENT AFTER RE-INIT?")
        
        frame = pygame.time.Clock()
        
        running = True
        
        while running:
            for event in pygame.event.get():

                if event.type == pygame.MOUSEBUTTONDOWN:
                    if event.button == 1:
                        print("left click")
                    if event.button == 3:
                        print("right click")

                if event.type == pygame.MOUSEWHEEL:
                    if event.y == 1:
                        print("scroll up")
                    if event.y == -1:
                        print("scroll down")

                if event.type == pygame.QUIT:
                    running = False

            frame.tick(60)
        pygame.quit()

if __name__ == "__main__":
    main()

顺便说一句,新年快乐,祝你好运~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。