设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Pygame 第3课】 游戏中的事件

[复制链接]

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

21#
发表于 2015-12-24 23:54:10 |只看该作者
crossin先生 发表于 2015-12-24 11:42
你是不是通过编辑器直接运行的?这样有时候路径会比较奇怪。试试在命令行下运行 ...

是在编辑器运行的。试了下在白色背景的命令行(Python 2.75 Shell)运行,没反应,就跟什么都不输入,直接按回车一样。
但是在黑色背景的命令行是可以运行的,跟编辑器运行效果一样。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

22#
发表于 2015-12-25 10:51:53 |只看该作者
周末晒被子 发表于 2015-12-24 23:54
是在编辑器运行的。试了下在白色背景的命令行(Python 2.75 Shell)运行,没反应,就跟什么都不输入,直接 ...

在系统命令行下运行
python xxx.py
这时候相对路径的当前目录,就是你执行这个命令的所在目录
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

23#
发表于 2015-12-25 13:58:22 |只看该作者
本帖最后由 周末晒被子 于 2015-12-26 01:10 编辑
crossin先生 发表于 2015-12-25 10:51
在系统命令行下运行
python xxx.py
这时候相对路径的当前目录,就是你执行这个命令的所在目录 ...

在系统命令行运行”python Firstpygame.py“,能看到一个黑色命令行窗口一闪而过。
先生这是为什么呢?
明明我把代码放上python命令行(黑色背景的)能运行,但由系统打开python命令行运行,就不可以了,一闪而退。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

24#
发表于 2015-12-26 18:24:03 |只看该作者
周末晒被子 发表于 2015-12-25 13:58
在系统命令行运行”python Firstpygame.py“,能看到一个黑色命令行窗口一闪而过。
先生这是为什么呢?
明 ...

是因为执行完,窗口就关闭了。非要用这种方式运行的话,在结尾加一个input,让程序停下来等待输入
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

25#
发表于 2015-12-27 06:20:18 |只看该作者
crossin先生 发表于 2015-12-26 18:24
是因为执行完,窗口就关闭了。非要用这种方式运行的话,在结尾加一个input,让程序停下来等待输入 ...

谢谢先生
回复

使用道具 举报

0

主题

0

好友

28

积分

新手上路

Rank: 1

26#
发表于 2016-1-28 10:01:04 |只看该作者
请问可不可以让不同尺寸的图片自适应固定的窗口大小?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

27#
发表于 2016-1-28 13:18:01 |只看该作者
hermit0308 发表于 2016-1-28 10:01
请问可不可以让不同尺寸的图片自适应固定的窗口大小?

获取窗口的大小,然后缩放图片
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

28#
发表于 2016-1-28 13:18:18 |只看该作者
hermit0308 发表于 2016-1-28 10:01
请问可不可以让不同尺寸的图片自适应固定的窗口大小?

获取窗口的大小,然后缩放图片
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

29#
发表于 2016-1-30 11:59:14 |只看该作者
在两张图之间切换并调整窗口大小
  1. # -*- coding:utf-8 -*-
  2. import pygame  #导入pygame库
  3. from pygame.locals import *
  4. from sys import exit  #向sys模块借一个exit函数用来退出程序
  5. pygame.init()  #初始化pygame,为使用硬件做准备
  6. pygame.display.set_caption('Hello, World!') #设置窗口标题
  7. screen=pygame.display.set_mode((960,640)) #创建了一个窗口,窗口大小和背景图片大小一样
  8. background1=pygame.image.load('.\data file\pypic2.jpg').convert() #加载并转换图像
  9. background2=pygame.image.load('.\data file\pypic.jpg').convert()
  10. background=background1
  11. while True: #游戏主循环
  12.     for event in pygame.event.get():
  13.         if event.type == pygame.QUIT: #接收到退出事件后退出程序
  14.             pygame.quit()
  15.             exit()
  16.         if event.type==pygame.MOUSEBUTTONDOWN: #接收到鼠标按下事件后更换背景
  17.             background=background2
  18.             background2=background1
  19.             background1=background
  20.     width=background.get_width()
  21.     height=background.get_height()
  22.     screen_size=(width,height)
  23.     screen=pygame.display.set_mode(screen_size,0,32)
  24.     screen.blit(background,(0,0)) #将背景图画上去
  25.     pygame.display.update() #刷新一下画面
复制代码
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

30#
发表于 2016-6-13 18:21:52 |只看该作者
# -*- coding: utf-8 -*-
import pygame
#导入pygame库
from sys import exit
#向sys模块借一个exit函数用来退出程序
pygame.init()
#初始化pygame,为使用硬件做准备
screen = pygame.display.set_mode((456, 132), 0, 32)
#创建了一个窗口,窗口大小和背景图片大小一样
pygame.display.set_caption("Hello, World!")
#设置窗口标题
background = pygame.image.load('bg.jpg').convert()
#加载并转换图像
while True:
#游戏主循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            #接收到退出事件后退出程序
            pygame.quit()
            exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            #接收到鼠标按下事件后更换背景
            background = pygame.image.load('bg2.jpg').convert()
    screen.blit(background, (0,0))
    #将背景图画上去
    pygame.display.update()
    #刷新一下画面
回复

使用道具 举报

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

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

GMT+8, 2024-11-25 08:56 , Processed in 0.016071 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部