pygame для python на виртуальной (VMWare) Windows XP на Mac OS10.6.8 - PullRequest
2 голосов
/ 30 июля 2011

Я использую Python 2.7 в Windows XP как виртуальную машину на моем Macbook (OS 10.6.8) с использованием VMWare.

Я просматриваю видеоуроки по python / pygame на thenewboston.com и запускаю следующий код:

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 и шарик, который следует за курсором мыши) работает, как и ожидалось, одна проблема, состоящая в том, что шарик не следует за курсором, как ожидалось, скорее он движется как бы случайно по краю экрана.

Это потому, что координаты x, y, возвращаемые функциями get_pos, get_width и get_height, являются неожиданными данными из-за того, что я работаю на виртуальной машине?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Это не потому, что вы работаете на виртуальной машине в общем смысле. Я только что протестировал код на Mac под управлением 10.7 с использованием виртуальной машины Windows 7 в Parallels с PyGame + дистрибутивом Python Enthought.

Код отлично работает в этой системе, мой скромный маленький футбольный мяч следует за мышью. Это может быть связано с тем, как VMWare передает координаты мыши, но это не все виртуальные машины.

0 голосов
/ 31 июля 2011

Я не знаю много о поведении на виртуальных машинах, поэтому я не могу вам там помочь.Но это может помочь вам сказать, что я попробовал ваш код на моей машине с Linux, и программа работает, как и ожидалось, с изображением, следующим за мышью.

Итак, учитывая это, вы, вероятно, правы, что что-то странноепроисходит с помощью методов мыши при работе на виртуальной машине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...