设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 33575|回复: 2
打印 上一主题 下一主题

【Pygame 第4课】 获取鼠标位置

[复制链接]

0

主题

0

好友

8

积分

新手上路

Rank: 1

楼主
发表于 2015-5-16 15:53:32 |显示全部楼层
老师,对于下面这几行代码,我有一个问题。
    x, y = pygame.mouse.get_pos()
    #获取鼠标位置
    x-= plane.get_width() / 2
    y-= plane.get_height() / 2
我想问,首先我们把x,y的位置定位到了飞机图片的左上角。然后,我们又计算出了图片的长和宽。比如图片左上角坐标为,(100,100) 计算得出的图片长和宽的一半为50,50. 我们知道,游戏窗口的最左上角坐标应该是(0,0),也就是说,坐标值越小越接近左上角,那么 您用 100-50作为新的x 100-50 作为新的y 这个新的坐标(50,50)应该是比一开始的图片左上角坐标(100,100)还要小的。那这个坐标应该更接近窗口左上角,也就是更加偏离了飞机图片的中心位置啊! 可为什么实际运行出来的结果反而是新坐标跑到飞机图片的中心了呢? 麻烦讲一下好吗?困扰了很久,谢谢老师了!
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

沙发
发表于 2015-5-16 16:09:30 |显示全部楼层
ajh99990 发表于 2015-5-16 15:53
老师,对于下面这几行代码,我有一个问题。
    x, y = pygame.mouse.get_pos()
    #获取鼠标位置

我又想了想。。。竟然自己想明白了。 因为打印图片永远都是图片左上角对着鼠标坐标点的。所以只要把鼠标的坐标值往左上角位移半个图片的长和宽之后再去打印,那就能让打印出来的图片的中心正好对应着鼠标坐标点了。 原来如此。。。
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

板凳
发表于 2015-5-16 16:09:56 |显示全部楼层
ajh99990 发表于 2015-5-16 15:53
老师,对于下面这几行代码,我有一个问题。
    x, y = pygame.mouse.get_pos()
    #获取鼠标位置

我又想了想。。。竟然自己想明白了。 因为打印图片永远都是图片左上角对着鼠标坐标点的。所以只要把鼠标的坐标值往左上角位移半个图片的长和宽之后再去打印,那就能让打印出来的图片的中心正好对应着鼠标坐标点了。 原来如此。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-4 17:49 , Processed in 0.025806 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部