小编skr*_*krx的帖子

Godot键盘事件

我正在研究Godot Engine和GDScript,并且我在互联网上搜索了有关键盘事件的信息,但我听不懂。Godot中是否有类似的东西on_key_down("keycode")

keyboard-events gdscript godot

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

pygame 全屏模式退出

我正在运行这个小程序,它以全屏模式将图像加载到屏幕上,但是一旦加载该程序将不会通过任何组合键退出,我最终不得不重置计算机以完成我正在做的任何其他事情。

import pygame

pygame.init()
WIDTH=1366; HEIGHT=768
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
pygame.display.set_caption('Katso')
PENGUIN = pygame.image.load("assets/download.png")
MICKEY = pygame.image.load("assets/mickey.jpg")
ADV = pygame.image.load("assets/adv.jpg")
CAT = pygame.image.load("assets/cat.jpg")
FLV = pygame.image.load("assets/flavours.jpg")
HALL = pygame.image.load("assets/hallway.jpg")
x = 0; # x coordnate of image
y = 0; # y coordinate of image
screen.blit(PENGUIN,(x,y)); pygame.display.update()
running = True
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.QUIT()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_1:
            screen.blit(MICKEY,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_2: …
Run Code Online (Sandbox Code Playgroud)

python pygame

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

为什么我的立方体向左移动比向右移动快?

我正在尝试学习游戏编程(以及一般的编程),因此我使用 pygame 在 Python 中制作了一个简单的侧滚器。

问题是,当我将角色(一个简单的立方体)向左移动时,它比向右移动时移动得更快,如稍后在控制台中所示。

这是游戏的图片。

带有循环的主类(我删掉了其中的一些,因为我认为它没有相关性,但如果需要,我可以发布它):

player.speed = 135
player = Player.Cube([255,0,0],600, screen.get_height()*0.8-screen.get_height()*0.125,screen.get_height()*0.125,screen.get_height()*0.125)
running = True
clock = pygame.time.Clock()

while running:

    deltaTime = clock.tick(60) / 1000



    screen.blit(background, (0, 0))
    screen.blit(player.image,(player.rect.x,player.rect.y))
    screen.blit(grass,(0,screen.get_height()-grass.get_height()))

    keystate = pygame.key.get_pressed()

    if keystate[K_RIGHT]:
        player.moveRight(deltaTime)
    elif keystate[K_LEFT]:
        player.moveLeft(deltaTime)
    pygame.display.flip()
Run Code Online (Sandbox Code Playgroud)

立方体类:

class Cube(pygame.sprite.Sprite):
    speed = 0
    def __init__(self, color, left,top, width, height):
        # Call the parent class (Sprite) constructor
        pygame.sprite.Sprite.__init__(self)
        self.left = left
        self.top = top
        self.image = pygame.Surface([width,height])
        self.image.fill(color)
        self.rect  = pygame.Rect(left, top, width, height)
    def …
Run Code Online (Sandbox Code Playgroud)

python pygame

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

如何在 pygame 中水平翻转图像?

这是在 pygame. 当我按向左箭头键时,如何翻转图像(假设猪向右看的图像)向左看,并且即使我不按任何键或按向上和向下箭头键。那么,当我按向右箭头键时,如何再次将其切换回向右看,并使其保持这样,即使我不按任何键或按向上和向下箭头键。

我知道我必须使用pygame.transform.flip()。但是,我不知道如何将其放入我的代码中。

这是主要游戏:

import sys

import pygame

from pig import Pig

pygame.init()

screen_width = 800
screen_height = 600

screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Flying Pig")

blue_sky = 135, 206, 250
brown = 139, 69, 19

pig = Pig(screen)

while True:

    # Accept events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

        # Keydown events
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                pig.moving_right = True
            elif event.key == pygame.K_LEFT:
                pig.moving_left = True
            elif event.key == pygame.K_UP: …
Run Code Online (Sandbox Code Playgroud)

python pygame python-2.7 python-3.x pygame-surface

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

返回[1,0]或[0,1]的优雅方式

我正在尝试找到一种优雅而有效的输出方法,[1,0]并且[0,1]取决于v可以01分别的值.

要清楚

i/o
0 >>> [1,0]
1 >>> [0,1]
Run Code Online (Sandbox Code Playgroud)

非常简单的任务,虽然我想知道最"pythonic"的方法是什么.

你的想法是什么?

python size performance

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

pygame中的精灵蒙版碰撞问题

我正在尝试在 pygame 中创建一个赛车游戏。我想要这样,当汽车离开赛道时,它会减速。我试图通过使用另一个作为轨道轮廓的精灵来做到这一点,当汽车接触到该精灵时,它会减速。这不起作用,我不知道为什么。有一个更好的方法吗?

Img 是汽车图片

Back 是赛马场

BackHit 是轮廓

我收到此错误代码:

回溯(最近一次调用):文件“C:\Users\Daniella\Desktop\Python\Games\game.py”,第 75 行,在 if pygame.sprite.collide_mask(Img, BackHit): 文件“C:\Users \Daniella\AppData\Roaming\Python\Python36\site-packages\pygame\sprite.py”,第 1470 行,在 collide_mask xoffset = right.rect[0] - left.rect[0] AttributeError: 'pygame.Surface' object没有属性“rect”

这是代码:

import pygame

Width = 800
Height = 600

Black = (0, 0, 0)
White = (255, 255, 255)
Red = (255, 0, 0)
Green = (0, 255, 0)
Blue = (0, 0, 255)
Yellow = (255, 255, 0)
BackColour = (198, 151, 107)

pygame.init()
GameDisplay = pygame.display.set_mode((Width, Height))
pygame.display.set_caption("A bit …
Run Code Online (Sandbox Code Playgroud)

python pygame collision-detection collision python-3.x

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

pygame按钮单击

我在pygame中制作了用于单击事件的按钮,但是存在问题。当我单击鼠标按钮并在按钮边界之间移动鼠标时,单击事件会重复发生。我只想单击一下,直到释放鼠标按钮。我怎样才能做到这一点?

import pygame,time
pygame.init()
x,y = (200,300)
pencere = pygame.display.set_mode((x,y))
pygame.display.set_caption("Click")

white = (255,255,255)
black = (0,0,0)
black2 = (30,30,30)

class Counter:
    count = 0
    def click(self):
        self.count += 1

number = Counter()
def text_objects(text, font, color):
    textSurface = font.render(text, True, color)
    return textSurface, textSurface.get_rect()

def button(msg,x,y,w,h,c,ic,action=None):
    mouse = pygame.mouse.get_pos()
    click = pygame.mouse.get_pressed()
    pygame.draw.rect(pencere, c,(x,y,w,h))

    smallText = pygame.font.Font("freesansbold.ttf",20)
    textSurf, textRect = text_objects(msg, smallText, white)
    textRect.center = ( (x+(w/2)), (y+(h/2)) )
    pencere.blit(textSurf, textRect)

    if x+w > mouse[0] > x and y+h …
Run Code Online (Sandbox Code Playgroud)

python mouse pygame click button

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

如何查看事件中鼠标是否按下或屏幕被触摸?

我发现我可以用来event.is_pressed()检查何时发生点击(我假设是点击)。但是,当 LMB(鼠标左键)仍然按下时,任何额外的动作并不等于true使用is_pressed()

这是我用于此测试的代码块:

func _input(event):
    var tilemap = find_node("TileMap")
    if(event.is_pressed()):
        tiles.highlight(event.position)
Run Code Online (Sandbox Code Playgroud)

当我实际单击时,tiles.highlight()会调用 ,但是当我在 LMB 仍然按下的情况下移动鼠标时,它不会调用tiles.highlight()。我需要在这里使用不同的功能吗?

godot

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

如何将rect与其关联的绘图(Pygame)一起移动?

最小的工作示例:

x = pygame.draw.circle(screen, color, (x, y), radius, width)
x.center = (my_wanted_center_x, my_wanted_center_y)
Run Code Online (Sandbox Code Playgroud)

然后在更新显示后,它始终显示在其原始位置.也尝试过其他数据.也没有用x.move().如何以最简单的方式移动任何绘制的图形?

python drawing pygame rectangles

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

Pyspark levenshtein连接错误

我想基于Levenshtein距离执行连接。

我有2张桌子:

  1. Data:这是HDFS文件存储库中的CSV。列之一是Disease description,15K行。
  2. df7_ct_map:我从Hive呼叫的表格。列之一是Disease Indication,20K行。

我试图通过将每个描述与适应症(它们是疾病的文字描述)相匹配来连接两个表。理想情况下,它们必须相同,但是如果两个文本都不相同,我希望选择包含最大数量的常用单词的匹配文本。

from pyspark.sql.functions import levenshtein  
joinedDF = df7_ct_map.join( Data, levenshtein(df7_ct_map("description"), 
Data("Indication")) < 3)
joinedDF.show(10)
Run Code Online (Sandbox Code Playgroud)

问题DataDataFrame这就是为什么我得到以下错误:

TypeError: 'DataFrame' object is not callable
TypeError                                 Traceback (most recent call last)
in engine
----> 1 joinedDF = df7_ct_map.join( Data, levenshtein(df7_ct_map("description"), Data("Indication")) < 3)

TypeError: 'DataFrame' object is not callable
Run Code Online (Sandbox Code Playgroud)

一些忠告?我可以使用Fuzzywuzzy软件包吗?如果是这样,怎么办?

python levenshtein-distance apache-spark-sql fuzzywuzzy pyspark

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

Pygame:将物体移向位置

是否有算法更改一组坐标以使其向另一组坐标移动?

就像,如果我有ax,ay=(20,30)bx,by=(40,60)

我似乎无法绕过这个.我如何改变axay(随着时间的推移)平等bxby?(最好是在python中可实现的算法.)

python animation pygame game-physics

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

从角度和线长获取点的位置

我正在用 pygame 用 Python 编写一个游戏,我想制作一个函数,从一个点沿特定方向绘制一条线,具有特定长度,例如,函数的定义是: def draw_line(position1: (int, int), angle: int, line_length: int, line_width: float, color: Color):

我可以做什么来计算绘制线条的第二个点?

我有一个问题的小示意图,我想得到position2,用pygame画线。

在此处输入图片说明

python pygame position angle line

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