我在Windows XP上使用VMWare在我的Macbook(OS 10.6.8)上运行Python 2.7作为虚拟机。
我正在浏览thenewboston.com上的python / pygame视频教程,并运行以下代码:
bif="bg.jpg"
mif="ball.png"
import pygame, sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((1196,733),0,32)
background=pygame.image.load(bif).convert()
mouse_c=pygame.image.load(mif).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
screen.blit(background, (0,0))
x,y = pygame.mouse.get_pos()
x -= mouse_c.get_width()/2
y -= mouse_c.get_height()/2
screen.blit(mouse_c, (x,y))
pygame.display.update()
程序(显示背景jpg和跟随鼠标光标的球)正在按预期运行一个问题,即球不按预期跟随光标,而是在边缘周围看似随机移动屏幕。
这是因为get_pos,get_width和get_height函数返回的x,y坐标是意外数据,因为我正在运行虚拟机吗?
感谢。
答案 0 :(得分:0)
我对虚拟机上的行为了解不多,所以我无法真正帮助你。但它可能会帮助你说我在我的Linux机器上尝试了你的代码并且程序按照预期的方式使用鼠标后的图像。
所以,考虑到这一点,你可能是正确的,当在虚拟机中运行时,鼠标方法会发生奇怪的事情。
答案 1 :(得分:0)
这不是因为你在一般意义上在虚拟机上工作。我刚刚在运行10.7的Mac上使用Parallels中的Windows 7虚拟机和PyGame + Enthought Python Distribution测试了代码。
代码在该系统上正常工作,我的小足球跟在鼠标后面。它可能与VMWare如何提供鼠标坐标有关,但它不是所有虚拟机。