用pygame.image.save()保存图片怎么修改储存图片的地址

用树莓派上的摄像头循环抓取图片并保存,用pygame发现图像储存在根目录下,查了文档也没找到怎样修改路径,哪位大神知道怎样修改图片的储存路径或者用别的类库实现抓取图片

代码:

#! /usr/bin/python3.5

import serial
import RPi.GPIO
import os
import sys
import time
import pygame.camera

pygame.camera.init()
pygame.camera.list_cameras()
cam=pygame.camera.Camera('/dev/video0',[640,480])

cam.start()
time.sleep(0.1)
for x in range(50):

        image=cam.get_image()
        t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
        pygame.image.save(image,t+'.jpg')
        time.sleep(60)

cam.stop()

2个回答

pygame.image.save()只能保存到当前路径下,要想保存到指定路径,需要先cd到该路径,然后运行.py

可以加路径的:
path1 = "D:\py\"
image.save(path1+curFileName)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用sublime写python中pygame.image.load()图片引用后不显示。
import sys import pygame pygame.init() size = width,height = 320,240 screen = pygame.display.set_mode(size) color = (0,0,0) pic = pygame.image.load("pythonStart.png") picrect = pic.get_reect() while True : for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill(color) screen.blit(pic,picrect) pygame.display.flip() ##游戏框出现后一闪就没了。报错如下,请大神指教!谢谢 ------------------------------- pygame 1.9.5 Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call last): File "F:\SublimeText\HelloSublime.py", line 8, in <module> pic = pygame.image.load("pythonStart.png") pygame.error: Couldn't open pythonStart.png [Finished in 1.9s with exit code 1] [shell_cmd: python -u "F:\SublimeText\HelloSublime.py"] [dir: F:\SublimeText] [path: F:\Python\Python37;G:\pyStart;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\idmu\common;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;F:\Python\Python37;F:\Python\Python37\Scripts\;F:\Python\Python37\]
pygame.display.flip()为什么无法如程序设计的更新屏幕
``` import pygame import sys def run_game: pygame.init() scareen=pygame.display.set_mode((1200,800)) pygame.dispaly.set_caption("Alien Invasion") while True: for event in pygame.event.get(): if event.type==pygame.QUIT: sys.exit() pygame.display.flip() run_game ``` 我前段时间macOS更新了Catalina后,再次使用这个程序,就出现了当程序跑到pygame.display.flip()就不再运行,卡在那儿的情况,该怎么处理
pygame.error: video system not initialized
按照视频的代码,但是报了这个错误,网上没有找到类似的答案 报错代码如下: ![图片说明](https://img-ask.csdn.net/upload/201908/17/1566022575_856149.png) 报错如下: ![图片说明](https://img-ask.csdn.net/upload/201908/17/1566022607_7422.png) 全部代码如下: import pygame from plan_sprites import * # 游戏的初始化 pygame.init() # 创建游戏的窗口 大小:480*700 screen = pygame.display.set_mode((480, 700)) # 绘制背景图像 # 1.加载图像数据 bg = pygame.image.load(r"H:\py\飞机大作战\images\background.jpg") screen.blit(bg, (0, 0)) # 3. updata更新屏幕 # 绘制英雄的飞机 hero = pygame.image.load(r"H:\py\飞机大作战\images\me1.png") screen.blit(hero, (150, 300)) # 可以在所有绘制工作完成后,统一调用updata方法 pygame.display.update() # 创建时钟对象 clock = pygame.time.Clock() # 1.定义rect记录飞机的初始位置 hero_rect = pygame.Rect(150, 300, 102, 106) # 创建敌机的精灵 enemy = GameSprite(r"H:\py\飞机大作战\images\enemy1.png") enemy1 = GameSprite(r"H:\py\飞机大作战\images\enemy1.png") # 创建敌机的精灵组 enemy_group = pygame.sprite.Group(enemy,enemy1) # 游戏循环-->意味着游戏的正式开始! while True: # 可以指定游戏循环内部的代码执行的频率 clock.tick(60) # # 捕获事件 # event_list = pygame.event.get() # if len(event_list) > 0: # print(event_list) # 监听事件 for event in pygame.event.get(): # 判断事件类型是否是退出事件 if event.type == pygame.QUIT: print("游戏结束!!") # quit 卸载所有的模块 pygame.quit() # exit()直接终止当前正在执行的程序 exit() # 2. 修改飞机的位置 hero_rect.y -= 1 # 判断飞机的位置 if hero_rect.y <= -126: hero_rect.y = 700 # 3. 调用blit方法绘制图像 screen.blit(bg, (0, 0)) screen.blit(hero, hero_rect) # 让精灵组调用两个方法 # updata 让组中的所有精灵更新位置 enemy_group.update() # drow 在screen 上绘制所有精灵 enemy_group.draw(screen) # 4. 调用updata方法更新显示 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() pygame.quit() ``` ```
pygame.error: Couldn't open images\ship.bmp加了r和绝对路径还是报错,求大神指点
《python编程:从入门到实践》这本书中的《外星人入侵》的项目里有如下代码: #coding=utf-8 import sys import pygame from settings import Settings from ship import Ship def run_game(): # 初始化pygame、设置和屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # 创建一艘飞船 ship = Ship(screen) # 开始游戏的主循环 while True: # 监视键盘和鼠标事件 for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() # 每次循环时都重绘屏幕 screen.fill(ai_settings.bg_color) ship.blitme() # 让最近绘制的屏幕可见 pygame.display.flip() run_game() 运行后报错: File "C:\Users\admin\Desktop\alien_invasion\ship.py", line 8, in __init__ self.image = pygame.image.load(r'C:\Users\admin\Desktop\alien_invasion\images\ship.bmp') pygame.error: Couldn't open C:\Users\admin\Desktop\alien_invasion\images\ship.bmp 我的是windows系统,也按照论坛上说的加了r、补全了路径,但仍然报错
pygame中怎样让背景图片适应游戏窗体的大小变化?
# 怎样实现背景图片自动随着窗体的大小而变化? 加载的图片与窗体大小不一致 ~~~~python import pygame,sys pygame.init() size = 600, 400 black = 0, 0, 0 screen = pygame.display.set_mode(size, pygame.RESIZABLE) pygame.display.set_aption("Aspioder") bg = pygame.image.load(".\\Pictures\\galaxy.jpeg") fclock = pygame.time.Clock() fps = 1000 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() screen.blit(bg, (0, 0)) pygame.display.update() fclock.tick(fps) ~~~~
熟悉Python pygame的大神们
pygame.image.load(filename),图片文件是1个白色小圆,如何将其进行染色,而保留圆形?surface.fill()只能填充图层并显示出来一个矩形,而非原图片形状。望大神们不吝赐教
使用pygame无法加载图片,求指教
# -*- coding:utf-8 -*- import pygame import time def main(): #1. 创建窗口 screen = pygame.display.set_mode((480,852),0,32) #2. 创建一个背景图片 background = pygame.image.load("D:\\plane\\plane1\\codes\\background.png") while True: screen.blit(background, (0,0)) pygame.display.update() time.sleep(0.01) if __name__ == "__main__": main() 编译报错显示: ![图片说明](https://img-ask.csdn.net/upload/201810/24/1540357022_111381.jpg)
pygame无法加载图片,不停空转
初学python , 用 pygame 编飞机大战,在导入背景图片时遇到困难 代码如下: 运行时没显示错误,但是在一张空白 pygame window 下空转。我用的是 mac python 3.7.1, pygame 1.9.4版本。请教大神代码有什么问题啊?多谢! import pygame from pygame.locals import * import time def main(): screen = pygame.display.set_mode((480, 852),0,32) background = pygame.image.load("./feiji/background.png") plane = pygame.image.load("./feiji/hero1.png") screen.blit(background, (0, 0)) pygame.display.update() while True: pass main()
pyinstaller打包py成exe后音乐文件播放异常,pygame.error
已解决 虽然不知道什么原因 用pyinstaller打包以后pygame不支持播放mp3和ogg文件 我把音乐文件转换成wav格式就成功了 所以mp3和ogg在pycharm里可以正常使用,不过如果要转成exe的话还得先把音乐文件统一转化成wav才行 问题描述: ``` if self.direct == 1: pygame.init() music = r"music\ai.mp3" pygame.mixer.music.load(music) pygame.mixer.music.play() ``` 一个十分普通的语句,在pycharm里可以顺利运行,但使用pyinstaller完成打包,并把music文件夹复制到和exe文件同目录下后却不能正常播放music里面的音乐文件,出现如下报错:![图片说明](https://img-ask.csdn.net/upload/202001/11/1578673075_740305.png) 整条路径没有中文名,歌曲文件名为ai.mp3,也没有中文名; 打包语句:pyinstaller -D loadui_new.py 目前已经试过网上的冻结路径法、spec打包(使用--add-data添加文件)法,报错没有变化。 初学python,还请各位前辈能教一下,感激不尽
Pygame surface.bilt方法的问题
image就是一张图片 self.rect=self.image.get_rect() self.screen.blit(self.image, self.rect) 众所周知,第二个参数用于指定绘制的位置,所以上面这种写法的第二个参数是rect,实际有4个值,于是我尝试了下面这么写也行 self.screen.blit(self.image, (self.rect.x, self.rect.y)) 而经我测试,就算指定四个值也完全没有任何影响 self.screen.blit(self.image, (self.rect.x, self.rect.y, 400, 500)) self.screen.blit(self.image, (self.rect.x, self.rect.y, 400, 600)) 绘制结果完全一样,说明后两个值根本没用 我的问题是,在我添加了一行self.rect.width = 100后,发现image在绘制时不能绘制到屏幕最右边的宽度为100的区域,这是为什么呢。。。 源码如下,一个打飞机小游戏 //ship.py import pygame class Ship(): def __init__(self, ai_settings, screen): """Initialize the ship, and set its starting position.""" self.screen = screen self.ai_settings = ai_settings # Load the ship image, and get its rect. self.image = pygame.image.load('images/ship.bmp') self.rect = self.image.get_rect() self.screen_rect = screen.get_rect() # Start each new ship at the bottom center of the screen. self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom # Store a decimal value for the ship's center. self.center = float(self.rect.centerx) # Movement flags. self.moving_right = False self.moving_left = False def update(self): """Update the ship's position, based on movement flags.""" # Update the ship's center value, not the rect. if self.moving_right and self.rect.right < self.screen_rect.right: self.center += self.ai_settings.ship_speed_factor if self.moving_left and self.rect.left > 0: self.center -= self.ai_settings.ship_speed_factor # Update rect object from self.center. self.rect.centerx = self.center def blitme(self): """Draw the ship at its current location.""" self.rect.w = 100 self.screen.blit(self.image, self.rect) //game_function.py import sys import pygame from bullet import Bullet def check_keydown_events(event, ai_settings, screen, ship, bullets): """Respond to keypresses.""" if event.key == pygame.K_RIGHT: ship.moving_right = True elif event.key == pygame.K_LEFT: ship.moving_left = True elif event.key == pygame.K_SPACE: fire_bullet(ai_settings, screen, ship, bullets) def check_keyup_events(event, ship): """Respond to key releases.""" if event.key == pygame.K_RIGHT: ship.moving_right = False elif event.key == pygame.K_LEFT: ship.moving_left = False def check_events(ai_settings, screen, ship, bullets): """Respond to keypresses and mouse events.""" for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: check_keydown_events(event, ai_settings, screen, ship, bullets) elif event.type == pygame.KEYUP: check_keyup_events(event, ship) def fire_bullet(ai_settings, screen, ship, bullets): """Fire a bullet, if limit not reached yet.""" # Create a new bullet, add to bullets group. if len(bullets) < ai_settings.bullets_allowed: new_bullet = Bullet(ai_settings, screen, ship) bullets.add(new_bullet) def update_screen(ai_settings, screen, ship, bullets): """Update images on the screen, and flip to the new screen.""" # Redraw the screen, each pass through the loop. screen.fill(ai_settings.bg_color) # Redraw all bullets, behind ship and aliens. for bullet in bullets.sprites(): bullet.draw_bullet() ship.blitme() # Make the most recently drawn screen visible. pygame.display.flip() def update_bullets(bullets): """Update position of bullets, and get rid of old bullets.""" # Update bullet positions. bullets.update() # Get rid of bullets that have disappeared. for bullet in bullets.copy(): if bullet.rect.bottom <= 0: bullets.remove(bullet) //主程序 import pygame from pygame.sprite import Group from settings import Settings from ship import Ship import game_functions as gf def run_game(): # Initialize pygame, settings, and screen object. pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # Set the background color. bg_color = (230, 230, 230) # Make a ship. ship = Ship(ai_settings, screen) # Make a group to store bullets in. bullets = Group() # Start the main loop for the game. while True: gf.check_events(ai_settings, screen, ship, bullets) ship.update() gf.update_bullets(bullets) gf.update_screen(ai_settings, screen, ship, bullets) run_game() 添加了self.rect.w = 100,飞机就不能移动到最右边了,这是为什么呢。。。
pygame 没有报错,但是加载不出应该加载的图片
import pygame from pygame.locals import * import time class HeroPlane(object): def __init__(self,screen_temp): self.x = 150 self.y = 420 self.scree = screen_temp self.image = pygame.image.load("E:/Python.py/FJDZ/FJ/aip01.png") self.bullet_list = []#存储发射出去的子弹 def display(self): self.scree.blit(self.image,(self.x,self.y)) for bullet in self.bullet_list: bullet.display() bullet.move() def move_left(self): self.x -= 5 def move_right(self): self.x += 5 def fire(self): self.bullet_list.append(Bullet(self.screen, self.x, self.y)) class Bullet(object): def __init__(self,screen_temp, x, y): self.x = 150 self.y = 200![图片说明](https://img-ask.csdn.net/upload/201909/30/1569827633_558153.jpg) self.scree = screen_temp self.image = pygame.image.load("E:/Python.py/FJDZ/FJ/airbool.png") def display(self): self.screen.blit(self.image,(self.x, self.y)) def move(self): self.y-=20 def key_control(hero_temp): for event in pygame.event.get(): #获取事件,比如按键等 if event.type == QUIT: #判断是否点击了推出按钮 print("exit") exit() elif event.type == KEYDOWN:#判断是否按下了键 if event.key == K_d or event.key == K_RIGHT:#判断是否按下了d或者right print("right") hero_temp.move_right() elif event.key == K_a or event.key == K_LEFT: #判断是否按下了A或者LEFT print("left") hero_temp.move_left() elif event.key == K_SPACE: #检测是否按下了空格键 print("space") def main(): screen = pygame.display.set_mode((480,652),0,32)#创建一个窗口 background = pygame.image.load("E:/Python.py/FJDZ/FJ/sky.png") #将背景图片载入 hero = HeroPlane(screen) #将自己的飞机载入 while True: screen.blit(background,(0,0))#用背景图片的左上角对齐窗口的左上角开始填充 hero.display()#载入自己的飞机在x y的位置 pygame.display.update() key_control(hero) time.sleep(0) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() if __name__ == "__main__": main() ``` ``` 本来应该加载出子弹的图片的,但是加载不出来。 python新手一个,希望大神能帮忙看一下。
属性错误:模块“pygame”没有属性“diasplay”.
没有找到相关资料解决问题,已经重装过pycharm. 代码如下: ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962554_528367.png) 报错截图如下: ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962593_457524.png) 全部代码如下: import pygame from plan_sprites import * # 游戏的初始化 pygame.init() # 创建游戏的窗口 大小:480*700 screen = pygame.diasplay.set_mode((480, 700)) # 绘制背景图像 # 1.加载图像数据 bg = pygame.image.load(r"H:\py\飞机大作战\images\background") screen.blit(bg, (0, 0)) # 3. updata更新屏幕 # 绘制英雄的飞机 hero = pygame.image.load(r"H:\py\飞机大作战\images\me1.png") screen.blit(hero, (150, 300)) # 可以在所有绘制工作完成后,统一调用updata方法 pygame.display.update() # 创建时钟对象 clock = pygame.time.Clock() # 1.定义rect记录飞机的初始位置 hero_rect = pygame.Rect(150, 300, 102, 106) # 创建敌机的精灵 enemy = GameSprite(r"H:\py\飞机大作战\images\enemy1.png") enemy1 = GameSprite(r"H:\py\飞机大作战\images\enemy1.png") # 创建敌机的精灵组 enemy_group = pygame.sprite.Group(enemy,enemy1) # 游戏循环-->意味着游戏的正式开始! while True: # 可以指定游戏循环内部的代码执行的频率 clock.tick(60) # 监听事件 for event in pygame.event.get(): # 判断事件类型是否是退出事件 if event.type == pygame.QUIT: print("游戏结束!!") # quit 卸载所有的模块 pygame.quit() # exit()直接终止当前正在执行的程序 exit() # 2. 修改飞机的位置 hero_rect.y -= 1 # 判断飞机的位置 if hero_rect.y <= -126: hero_rect.y = 700 # 3. 调用blit方法绘制图像 screen.blit(bg, (0, 0)) screen.blit(hero, hero_rect) # 让精灵组调用两个方法 # updata 让组中的所有精灵更新位置 enemy_group.update() # drow 在screen 上绘制所有精灵 enemy_group.draw(screen) # 4. 调用updata方法更新显示 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() pygame.quit() 望大神指点
pygame error: couldn't open the ship.bmp
在pygame里练习一个游戏程序,遇到“pygame error: couldn't open the ship.bmp”在网上查了下错误的原因,主要是说要补全路径或把bmp图片放在.py文件相同的目录下,我各种方式都试了,但还是报错... 以下是代码: import sys import pygame from settings import Settings from ship import Ship def run_game(): #initialize game and create a window obj pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width,ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") #creat a ship ship = Ship(screen) #begin main cycle of game while True: #monitor key and shubiao for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() #draw a new screen while a new cycle begin screen.fill(ai_settings.bg_color) ship.blitme() #show the near screen pygame.display.flip() run_game() 模块ship.py import pygame class Ship(): def __init__(self,screen): """initialize ship and set location of ship""" self.screen = screen #load image of ship and get the bounding box of the ship self.image = pygame.image.load(r'images\ship.bmp') self.rect = self.image.get_rect() self.screen_rect = screen.get_rect() #place each ship into center of bottom of screen self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom def blitme(self): """drawing the ship in the specific place""" self.screen.blit(self.image,self.rect)
pygame 为什么飞船只能左右移动不能上下移?
``` import pygame import sys def run_game(): pygame.init() screen=pygame.display.set_mode((1200,600)) pygame.display.set_caption("game over") image=pygame.image.load('selfimages/airplane.bmp') rect=image.get_rect() screen_rect=screen.get_rect() rect.centerx=screen_rect.centerx rect.centery=screen_rect.centery xcenter=float(rect.centerx) ycenter=float(rect.centery) moving_right=False moving_left=False moving_down=False moving_up=False while True: for event in pygame.event.get(): if event.type==pygame.QUIT: sys.exit() elif event.type==pygame.KEYDOWN: if event.key==pygame.K_RIGHT: moving_right=True elif event.key==pygame.K_LEFT: moving_left=True elif event.key==pygame.K_UP: moving_up=True elif event.key==pygame.K_DOWN: moving_dowm=True elif event.type==pygame.KEYUP: if event.key==pygame.K_RIGHT: moving_right=False elif event.key==pygame.K_LEFT: moving_left=False elif event.key==pygame.K_UP: moving_up=False elif event.key==pygame.K_DOWN: moving_dowm=False if moving_right and rect.right<screen_rect.right: xcenter+=1.5 if moving_left and rect.left>0: xcenter-=1.5 if moving_up and rect.top<screen_rect.top: ycenter+=1.5 if moving_down and rect.bottom>0: ycenter-=1.5 rect.centerx=xcenter rect.centery=ycenter screen.fill((255,255,255)) screen.blit(image,rect) pygame.display.flip() run_game() ``` 麻烦帮我看看问题出在哪,谢谢大家
如何在pygame中做一个按钮调用函数并且关闭当前界面
用tkinter写的主页面 并且在主页面中用按钮实现了调用游戏界面并且关闭主页面的方法,现在需要一个返回按钮 返回tk的主页面 我现在点按钮可以返回但是无法关闭当前的pygame的窗口 求助各位大神 import pygame, sys from pygame.locals import * import main pygame.init() #初始化pygame screen=pygame.display.set_mode([640,480]) #窗口大小:640*480 screen.fill([255,255,255])#用白色填充窗口 myimage=pygame.image.load("1.png") #把变量myimage赋给导入的图片 screen.blit(myimage,[500,0]) #在100,100的地方画出这个图片(100和100为左部和上部) pygame.display.flip() while True: for event in pygame.event.get():#获得事件 if event.type==pygame.MOUSEBUTTONDOWN and 500<=event.pos[0]<=640 and \ 0<=event.pos[1]<=57: #判断鼠标位置以及是否摁了下去。 #做需要做的事情,如开始游戏。 main.zhuyemian() pass
pygame如何实现等边三角形和圆移动的同时同心旋转?
我想要用pygame写消灭病毒这一游戏,现在写到病毒圆形后面一直旋转的三角形,使用pygame.transform.rotate却不能与圆同心旋转 ``` # 病毒类 class Viruses(pygame.sprite.Sprite): def __init__(self, image, position, x_speed, y_speed,screen): ''' 初始化 :param image: 图片名字 :param position: 位置 :param x_speed: 水平的速度 :param y_speed: 竖直的速度 ''' pygame.sprite.Sprite.__init__(self) self.image = pygame.image.load(image) self.rect = self.image.get_rect() self.rect.center = position self.X_speed = x_speed self.Y_speed = y_speed self.image2 = pygame.image.load('images/8 (13).png') self.rect2 = self.image.get_rect() self.rect2.centerx = self.rect.centerx self.rect2.centery = self.rect.centery - 40 #可见性 self.visible = True self.screen = screen self.angle = 1 ''' 移动 ''' def update(self, *args): self.rect = self.rect.move(self.X_speed, self.Y_speed) self.rect2 = self.rect2.move(self.X_speed, self.Y_speed) def check_edges(self): #如果位于屏幕边缘,就返回True screen_rect = self.screen.get_rect() if self.rect.right >= screen_rect.right: return True elif self.rect.left <= 0: return True else: return False def blitme(self): #在指定位置绘制三角 self.new_image2 = pygame.transform.rotate(self.image2, self.angle) self.angle += 1 newRect = self.new_image2.get_rect() # newRect.left, newRect.top = self.rect2.left, self.rect2.top newRect.center = self.rect2.center self.screen.blit(self.new_image2,newRect) ``` 屏幕更新函数 ``` def update_screen(ai_settings,screen,ship,virals,bullets,jishen,back,flash,bombs,bflash,sanjiaos): #更新屏幕上的图像,并切换到新屏幕 #每次循环时都重绘屏幕 back.blitme() bullets.draw(screen) for viral in virals: viral.blitme() virals.draw(screen) flash.draw(ship) ship.blitme() jishen.blitme() for bomb in bombs: if bomb.visible: bomb.draw() #让最近绘制的屏幕可见 pygame.display.flip() ``` 每次三角形都不能和圆同心旋转 ![图片说明](https://img-ask.csdn.net/upload/201908/11/1565519341_789555.png)![图片说明](https://img-ask.csdn.net/upload/201908/11/1565519353_143782.png) 希望大佬们给我一些帮助,非常感谢
Python入门到实践习题12-3移动火箭问题
根据习题描述,自己写了个移动火箭代码,程序运行无问题,但是不能移动火箭,习题各位大神能指点下代码哪里有问题。代码如下: ``` import pygame import sys def screen_main(): pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption('移动火箭') bg_color = (193, 215, 192) # 加载图片 image = pygame.image.load(r'images\timg.jpg') # 获取图片的矩形区域 img_rect = image.get_rect() # 获取窗口的矩形区域 screen_rect = screen.get_rect() # 将窗口的矩形x坐标赋值给图片的矩形x坐标 img_rect.centerx = screen_rect.centerx # 将窗口的矩形y坐标赋值给图片的矩形y坐标 img_rect.centery = screen_rect.centery # 定义移动标志 moving_down = False moving_up = False moving_left = False moving_right = False while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: if event.type == pygame.K_DOWN: moving_down = True elif event.type == pygame.K_UP: moving_up = True elif event.type == pygame.K_LEFT: moving_left = True elif event.type == pygame.K_RIGHT: moving_right = True elif event.type == pygame.KEYUP: if event.type == pygame.K_DOWN: moving_down = False elif event.type == pygame.K_UP: moving_up = False elif event.type == pygame.K_LEFT: moving_left = False elif event.type == pygame.K_RIGHT: moving_right = False if moving_left: img_rect.centerx -= 1 if moving_right: img_rect.centerx += 1 if moving_down: img_rect.centery+= 1 if moving_up: img_rect.centery -= 1 screen.fill(bg_color) # 在屏幕上绘制image图片,第二个参数为目标参数 screen.blit(image, img_rect) pygame.display.flip() screen_main() ``` ```
macos10.14 pygame 不显示颜色
无法显示背景颜色,不知为何。新人学python,求解答 import sys import pygame def run_game(): #初始化游戏并且创建一个屏幕对象 pygame.init() screen = pygame.display.set_mode((1200, 800)) pygame.display.set_caption("Alien Invasion") bg_color = (230, 230, 230) #开始游戏主循环 while True: #监视键盘和鼠标事件 for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() screen.fill(bg_color) #让最近绘制的屏幕可见 pygame.display.flip() run_game()
用pygame设计游戏时打不开声音文件
# Set up the music. pickUpSound = pygame.mixer.Sound('ssss.wav') pygame.mixer.music.load('hhhh.wav') pygame.mixer.music.play(-1, 0.0) 执行上面这段代码时,总是报错:‘’pygame.error: Unable to open file 'ssss.wav' ‘’ 注:相关文件已经放在代码所在的文件夹中。
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问