python on python on virtual(VMWare)Windows XP on Mac OS10.6.8

时间:2011-07-30 19:47:17

标签: python pygame

我在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坐标是意外数据,因为我正在运行虚拟机吗?

感谢。

2 个答案:

答案 0 :(得分:0)

我对虚拟机上的行为了解不多,所以我无法真正帮助你。但它可能会帮助你说我在我的Linux机器上尝试了你的代码并且程序按照预期的方式使用鼠标后的图像。

所以,考虑到这一点,你可能是正确的,当在虚拟机中运行时,鼠标方法会发生奇怪的事情。

答案 1 :(得分:0)

这不是因为你在一般意义上在虚拟机上工作。我刚刚在运行10.7的Mac上使用Parallels中的Windows 7虚拟机和PyGame + Enthought Python Distribution测试了代码。

代码在该系统上正常工作,我的小足球跟在鼠标后面。它可能与VMWare如何提供鼠标坐标有关,但它不是所有虚拟机。