小编Ser*_*ial的帖子

如何在Pygame中移动Sprite

即时通讯试图让我的形象(鸟)在屏幕上上下移动,但我无法弄清楚如何做到这里是我试图确定它的方式,但我试图找出来,如果有人可以帮助那将是大!

import pygame
import os

screen = pygame.display.set_mode((640, 400))

running = 1

while running:
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        running = 0
    screen.fill([255, 255, 255])
    clock = pygame.time.Clock()
    clock.tick(0.5)
    pygame.display.flip()

    bird = pygame.image.load(os.path.join('C:\Python27', 'player.png'))
    screen.blit( bird, ( 0, 0 ) )

    pygame.display.update()

class game(object):
    def move(self, x, y):
        self.player.center[0] += x
        self.player.center[1] += y


    if event.key == K_UP:
        player.move(0,5)
    if event.key == K_DOWN:
        player.move(0,-5)

game()
Run Code Online (Sandbox Code Playgroud)

我试图让它按下向下按钮按下向上按UP按键

python pygame sprite

4
推荐指数
1
解决办法
3万
查看次数

将文字绘制到图像时出现字体错误

我正在编写一个脚本,该脚本从我的学校成绩网站上获取我的成绩,并将这些成绩绘制到图像上,然后将其保存为背景,并且我试图在将文本绘制到图像上时更改字体,但是一个错误

这是我正在尝试的代码:

font = ImageFont.load('C:\WINDOWS\Fonts\CALIBRI.TTF')
img = Image.open('bg.bmp')
draw = ImageDraw.Draw(img)

now = datetime.datetime.now()


draw.text((625, 425),'                      CURRENT GRADES' )
draw.text((625, 475), 'Period 1: Geography -----------------------------{0}'.format(a),("blue"),(font))
draw.text((625, 525), 'Period 2: Francais-------------------------------{0}'.format(b),("red"),(font))
draw.text((625, 575), 'Period 3: Science--------------------------------{0}'.format(c),("orange"),(font))
draw.text((625, 625), 'Period 4: P.E------------------------------------{0}'.format(d),("blue"),(font))
draw.text((625, 675), 'Period 5: Algebra 9------------------------------{0}'.format(e),("red"),(font))
draw.text((625, 725), 'Period 6: LA-------------------------------------{0}'.format(f),("orange"),(font))
draw.text((625, 775), 'Last Updated: {0}'.format(now))

img.save('mod_bg.bmp')
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到此错误消息:

Traceback (most recent call last):
  File "C:\Python27\Project.py", line 45, in <module>
     font = ImageFont.load('C:\WINDOWS\Fonts\CALIBRI.TTF')
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 193, in load
    f._load_pilfont(filename)
  File …
Run Code Online (Sandbox Code Playgroud)

python fonts python-imaging-library

4
推荐指数
2
解决办法
2139
查看次数

在Pygame中制作精灵跳转

制作一个基本的游戏,我试图让我的角色在按下空间时跳跃

我有一个模拟的重力,当空间释放时将其拉下来

但当我向下推空间时,它上升并且没有停止

我希望它只能持续1秒钟,然后再回去

这是我的按键处理代码段:

key = pygame.key.get_pressed()
if key[pygame.K_LEFT]:
    self.rect.x -= 30
if key[pygame.K_RIGHT]:
    self.rect.x += 30
if key[pygame.K_SPACE]:
    self.rect.y += -20
if key[pygame.K_SPACE] == False:
    self.rect.y += 20
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,当空间被释放时,这个代码会使精灵上升,当空间被释放时它会下降但是当它被按下时我希望它等待一秒然后使精灵回落,即使空格键仍然是向下的

请帮忙!!

谢谢

python pygame sprite event-handling python-2.7

3
推荐指数
1
解决办法
9745
查看次数

用2个点找到向量

我用pygame帮助我的朋友,但我们被卡住了

那些试图获得射弹的方向,但我们无法找到如何

例如:

[1,1]将去SE

[1,-1]将进入NE

[-1,-1]将进入NW

并且[-1,1]将进入SW

我们需要一种类型的方程式,它将使玩家位置和鼠标位置,并找出射弹需要去的方向

这是我们插入向量的地方:

def update(self):

    self.rect.x += self.vector[0]
    self.rect.y += self.vector[1]
Run Code Online (Sandbox Code Playgroud)

然后我们将射弹撞击在射线上

python pygame vector direction

3
推荐指数
1
解决办法
8097
查看次数

获得程序运行的时间(Python)

我正在编写一个Python脚本,我想让它说最后更新:然后它更新的时间,但我不知道如何

这是和示例代码

from PIL import ImageDraw
import ctypes, time
import urllib
import manipulate
import datetime



font_size = 50
font_color = "red"

font = ImageFont.load_default() 
img = Image.open('bg.bmp')
draw = ImageDraw.Draw(img)

time = datetime.datetime.now()


draw.text((650, 450),'                      CURRENT GRADES' )
draw.text((650, 500), 'Period 1: Geography -----------------------------')
draw.text((650, 550), 'Period 2: Francais-------------------------------')
draw.text((650, 600), 'Period 3: Science--------------------------------')
draw.text((650, 650), 'Period 4: P.E------------------------------------')
draw.text((650, 700), 'Period 5: Algebra 9------------------------------')
draw.text((650, 750), 'Period 6: LA-------------------------------------')
draw.text((650, 800), 'Last Updated:'(time))
draw = ImageDraw.Draw(img)
draw = ImageDraw.Draw(img) …
Run Code Online (Sandbox Code Playgroud)

python string time python-imaging-library

2
推荐指数
1
解决办法
107
查看次数

如何在Pygame中使用Sprite碰撞

我正在制作一个非常简单的游戏,其中鸟(玩家)必须躲避岩石,如果它被岩石击中,你就输了.我试图使用pygame.sprite.collide_rect()来判断它们是否触及,但我似乎无法确定如何正确使用它.

这是我的代码:

import pygame
import os, sys
import random
import time

img_path = os.path.join('C:\Python27', 'player.png')
img_path2 = os.path.join('C:\Python27', 'rock.png')

class Bird(object):  
    def __init__(self):           
        self.image_s = pygame.image.load(img_path)
        self.image_b = self.image_s.get_rect()
        self.x = 0
        self.y = 0

    def handle_keys(self):
        key = pygame.key.get_pressed()
        dist = 2 
        if key[pygame.K_DOWN]:
            self.y += dist 
        elif key[pygame.K_UP]: 
            self.y -= dist
        if key[pygame.K_RIGHT]: 
            self.x += dist 
        elif key[pygame.K_LEFT]:
            self.x -= dist 

   def draw(self, surface):
       surface.blit(self.image, (self.x, self.y))

    def background(self, surface):
        bg = os.path.join('C:\Python27', 'bg.png')
        self.image2 = pygame.image.load(bg)
        surface.blit(self.image2, …
Run Code Online (Sandbox Code Playgroud)

python pygame sprite rect

2
推荐指数
1
解决办法
2万
查看次数

什么是伪随机?

我正在阅读随机模块的文档,并注意到它说伪随机和思想不伪意味着假,所以我想知道它是什么意思,当它说

例如:

import random

print random.randint(1,2)
print random.randint(1,3)
Run Code Online (Sandbox Code Playgroud)

这仍然意味着第一个印刷声明有50%的机会打印1和50%的机会打印2

并且第二个打印声明有33%的机会打印一个,33%的机会打印2等.

如果没有,那么伪随机数是如何生成的?

python random

1
推荐指数
1
解决办法
383
查看次数

使用python绕过HTTP 403

我正在制作一个使用谷歌搜索的程序,但我不能因为HTTP错误403是否有任何方法围绕它或任何我使用机械化浏览这里是我的代码

from mechanize import Browser

inp = raw_input("Enter Word: ")
Word = inp

SEARCH_PAGE = "https://www.google.com/"

browser = Browser()
browser.open( SEARCH_PAGE )
browser.select_form( nr=0 )

browser['q'] = Word
browser.submit()
Run Code Online (Sandbox Code Playgroud)

这是错误消息

Traceback (most recent call last):
File "C:\Python27\Project\Auth2.py", line 16, in <module>
browser.submit()
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 541, in submit
return self.open(self.click(*args, **kwds))
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 203, in open
return self._mech_open(url, data, timeout=timeout)
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 255, in _mech_open
raise response
httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt
Run Code Online (Sandbox Code Playgroud)

请帮助,谢谢

python error-handling http mechanize http-status-code-403

0
推荐指数
1
解决办法
2991
查看次数

求解二次公式

我正在编写一个程序来使用二次方程式求解二次方程,但它仅在a = 1时才有效,但我希望它在a大于1时工作

这是我的代码:

import math

def solve(a, b, c):

    x = ((-1)* b + math.sqrt(b**2-4*a*c))/2*a
    print "x = %s" %x
    print "or"
    y = ((-1)* b - math.sqrt(b**2-4*a*c))/2*a
    print "x = %s" %x




while 1:
    a = int(raw_input("Enter A :"))
    b = int(raw_input("Enter B :"))
    c = int(raw_input("Enter C :")) 
    solve(a, b, c)
Run Code Online (Sandbox Code Playgroud)

它适用于1但当我使用多于一个的数字时,我使用说4我得到此错误

Traceback (most recent call last):
  File "C:\Documents and Settings\User\Desktop\Factor.py", line 18, in <module>
    solve(a, b, c)
  File "C:\Documents and Settings\User\Desktop\Factor.py", line 5, in solve
    x …
Run Code Online (Sandbox Code Playgroud)

python math quadratic equation-solving

0
推荐指数
3
解决办法
6452
查看次数

Int转换不起作用

我正在为我的游戏创造一个高分特色,但我无法让它发挥作用

这是我的方法:

def game_over(self):
    # Game over Screen
    keys = pygame.key.get_pressed()
    self.gameover = pygame.image.load('resources/screen/game_over.png')
    screen.blit(self.gameover,(0,0))

    high_filer = open('highscores.txt', 'r')
    highscore = high_filer.read()
    high_filer.close()
    int(highscore)
    int(self.score)
    print highscore + self.score

    if self.score > highscore: 
        high_filew = open('highscores.txt', 'w')
        high_filew.write(str(self.score))
        high_filew.close()

    if (keys[K_RETURN]):
        self.state = 1
Run Code Online (Sandbox Code Playgroud)

它的作用是从.txt文件中读取最新的高分,并检查玩家得分是否更高,如果它将新的高分数写入文件

highscore使用int(highscore)then然后在第10行将字符串转换为int 我print highscore + self.score作为测试但是我抛出一个错误,表示我无法添加str和int,即使我转换highscore为int并且我转换了self.由于某种原因,其中一个转换不起作用

python string integer

0
推荐指数
1
解决办法
3248
查看次数