如何将pygame应用程序转换为iOS应用程序
我使用Pygame在Python中写了一个很小且未完成的游戏.是否有一种简单的方法将其转换为一个应用程序,我可以在iPhone上使用和测试,而无需重写Kivvy之类的整个代码? 解决方案 没有一种简单的方法,不可能转换代码. 但是对于一个简单而不是专业的游戏,您可以尝试这样做. 使用网站托管游戏,例如任何地方(免费). 现在创建一个没有任何编码技能的应用程序. 我从不使用iOS,因为Android Mit Inventor是创建应用程序的好框架. 对于iOS,您可以尝试Appypie或AppYourself,但是您可以找到其他更好的选择. 该应用程序必须包含您网站的Web浏览器查看器. 该应用在其中显示带有您游戏的网页. 我无法想象另一种方式,这有点困难,应用需要互联网连接. 祝你好运!
12 2023-06-02
编程技术问答社区
如何在线制作Pygame游戏?
我正在尝试为大学项目创建一个网站,您可以在其中播放我使用Pygame(Python)编程的迷你游戏.如何使游戏可在线执行(例如闪存游戏)?我正在使用php 解决方案 现在您可以在浏览器中运行Pygame:刚刚找到了.老师的好消息. https://trinket.io/features/pygame 其他解决方案 如果您不完全致力于pygame,则可以调查另一种选择是使用 pyinstaller 创建现有Pygame项目的独立可执行文件. 这是有关创建乒乓球的教程.它不是针对游戏的 . 或者您可以考虑使用其他语言使用Web Game库进行重新开发(可能的javascript ). 其他解决方案 您有可执行文件吗?如果没有,请查看CX-Freeze.如果您确实具有可执行文件,我建议以某种方式将可执行文件实现到HTML代码中.查看Chrome的Dino Runner(Chrome://dino)免费.
2 2023-05-30
编程技术问答社区
在Pygame、Python 3中设置一个固定的FPS
我目前正在使用Pygame(Python 3)进行游戏,我正在寻找一种以固定FPS进行游戏的方法. 大部分游戏都位于巨型内部的循环中,在获取用户输入的地方,呈现精灵等等.每个刻度.我的目标是设置固定的FPS,以使游戏以快速或慢的计算机的速度运行. 我当然可以使用pygame中的时钟模块: clock = pygame.time.Clock() 然后将每个循环称为: clock.tick(30) ,但这将使游戏限制为30 fps.因此,如果我将其设置为500 fps,则可能仍然像以前一样快地运行.我的目标是,如果我将其设置为500 fps,它将以与500 fps相同的速度运行... 因此,无论计算机的速度如何? 对不起,如果该措辞令人困惑. 解决方案 the clock.tick返回自上次呼叫以来clock.tick以来的时间.使用该值并在移动时将所有速度乘以它. 示例 dt = clock.tick(60) player.posi
0 2023-05-23
编程技术问答社区
有什么办法可以加快Python和Pygame的速度?
我在pygame中写了一个简单的自上而下的RPG,我发现它很慢....尽管我不希望python或pygame匹配使用C/C ++等编译语言制造的游戏FPS事件字节编译了诸如Java之类的事件,但目前的pygame fps仍然大约15.我尝试渲染16色的位图,而不是PNG或24个位图,这略微提高了速度,然后绝望地将所有内容切换为黑色和白色单色位图,这使得FPS达到35.但不超过更多.现在,根据我读过的大多数游戏开发书籍,要使用户对游戏图形完全满意,2D游戏的FPS至少应该是40,那么是否有任何方法可以提高Pygame的速度? 解决方案 使用psyco,用于python2: import psyco psyco.full() 另外,启用双鼓.例如: from pygame.locals import * flags = FULLSCREEN | DOUBLEBUF screen = pygame.display.set_mode(resolution, flags,
2 2023-05-23
编程技术问答社区
计时器过后,精灵不会重新出现在同一位置上
因此,我修复了一个问题,即在玩家站立不删除所有实例的一定时间后平台消失,但是现在需要在一定时间后重新出现,以便播放器可以进步. 我已经尝试在游戏循环中以及下面显示的代码中再次添加实例并再次添加到组,但添加了新的计时器,但什么也不会发生.如果我在此代码之后添加到组,那么platfrom n; t t; t t都会消失,所以我认为添加精灵为group正在起作用,我只是无法重新出现时间延迟. if self.rect.bottom == trick_platform.rect.top -1: trick_platform.timer += 1 if trick_platform.timer > 24: trick_platform.kill() 当世界级别的下面绘制世界时,实例源于tile'24'... elif tile
16 2023-05-23
编程技术问答社区
在Windows上安装Pygame-错误: 无法找到vcvarsall.bat
我有一台Win7 64位开机.我已经下载并安装了Python 2.6.6 32位.我还为Python 2.6下载了Pygame 1.9.1,并尝试安装它.我得到了: C:\pygame-1.9.1release>setup.py install .... running build_ext building 'pygame._numericsurfarray' extension error: Unable to find vcvarsall.bat 我该怎么办? (如果相关,我没有任何编译器或视觉工作室或安装的任何内容) 解决方案 on setup.py install 其他解决方案 我几周前遇到了类似的问题(特征) - 对我来说是因为该软件包试图编译扩展程序,而且我没有Visual Studio.对我有用的是安装 mingw ,并直接使用Python将其用作Distutils中的编译器. python安装文件夹中的\ lib \ distutils下的CF
4 2023-05-23
编程技术问答社区
无法在VSCode中使用pygame
我目前正在从事一项作业,必须完成一些功能并导入pygame,以便我可以运行跑步者程序. 当我尝试通过运行命令pip3 install -r requirements.txt导入pygame(有一个要求文本文件中只是说pygame)时,它说它成功安装了它,但它还警告说我不使用最新版本pip. 当我运行跑步程序时,它给出了moduleNotFoundError. 我导入pygame的方式有什么问题,还是我做错了什么? 解决方案 我曾经与pyautogui发生这种情况,所以基本上发生的是我正在使用错误的版本Python 在CMD中,它在VSCODE上使用python版本3.9使用PIP安装,我正在使用Python 3.10,因此,如果您想检查您在CMD中安装的Python的版本,只需在CMD中键入Python,它将显示版本并将其与VSCODE进行比较如果它们是一样的,它将起作用 对于PIP安装版本,即使您正在运行旧版本,也不必担心它仍然可以完成工作并安装所有内容,这不会影响安装
12 2023-05-23
编程技术问答社区
Pygame已经安装了;但是,Python终端显示 "没有名为'pygame'的模块"(Ubuntu 20.04.1)。
我正在使用ubuntu 20.04.1 lts.我已经使用 sudo apt-get安装python-pygame 安装了pygame.但是,当我使用VS代码运行代码时,Python终端给出以下输出: Traceback (most recent call last): File "path", line 1, in import pygame ModuleNotFoundError: No module named 'pygame' 我尝试使用同一命令重新安装Pygame.这是输出: Reading package lists... Done Building dependency tree Reading state information... Done python-pygame is already the newest version (1.9.6+dfsg-2build1). 0 upgraded, 0 newly
28 2023-05-23
编程技术问答社区
Pygame读取MIDI输入
我引用了此代码试图使MIDI输入进行工作. MIDI接口(Avid 11架)在我的音频软件(Pro Tools)中可以从我的MIDI控制器接收MIDI数据.但是,使用pygame,我似乎根本无法阅读任何信息. 源代码 import pygame from pygame.locals import * from pygame import midi class MidiInput(): def __init__(self): # variables self.elevenRackInID = 2 # init methods pygame.init() pygame.midi.init() self.midiInput = pygame.midi.Input(self.elevenRackInID, 100) def run(self): # p
0 2023-05-23
编程技术问答社区
在Python/Pygame中,在没有焦点的情况下获取输入信息?
我正在为自己创建一个小应用程序,以便能够显示我的键盘输入并在操纵杆布局中显示它们: 这个本身,在Pygame Windows专注时运行良好,我的问题是,我不能一直都集中精力,实际上它永远不会焦点将使用我的模拟器,而Pygame不会检测到窗外的输入.有什么方法可以使Python或Pygame阅读所有对计算机的输入???我在这里撞墙.预先感谢! 解决方案 使用pygame.event.set_grab(True) 当您的程序在窗户环境中运行时,它将与其他焦点的应用程序共享鼠标和键盘设备.如果您的程序将事件设置为true,它将锁定您程序中的所有输入. 最好不要总是抓住输入,因为它可以防止用户在系统上做其他事情. 您将需要另一种退出方式,因为您将无法将鼠标移出显示窗口. 其他解决方案 根据上面的两个注释,以保持专注于PyGame窗口(有效地将光标保持在Pygame窗口的范围内,直到我能够使用以下代码进行此操作: pygame.event.set_grab(Tr
22 2023-05-23
编程技术问答社区
pygame中的段落输入
im tryna使用Pygame制作Python GUI应用程序,但现在我意识到它是针对游戏的,而不是针对常规应用程序...我的大部分时间都完成了用户的盒子,但我真的找不到一种方法,这确实是一种方法来做到这一点,还是我必须切换到完全不同的模块并从头开始 import pygame pygame.init() screen = pygame.display.set_mode((600,600)) app_fps = pygame.time.Clock() bg = pygame.image.load('Moment-Book/GUI/assets/login_bg.jpg') font = pygame.font.Font(None,32) active_color = pygame.Color('dodgerblue2') inactive_color = pygame.Color('white') back_button = pygame.image.load('Moment
6 2023-05-23
编程技术问答社区
多次导入同一个python模块
我试图找到一种因某些键按下而多次导入相同模块的方法.... if event.type == pygame.KEYDOWN: if event.key == pygame.K_1: import forest_level if event.key == pygame.K_2: import sea_level if event.key == pygame.K_3: import desert_level if event.key == pygame.K_4: import underwater_level if event.key == pygame.K_5: import space_level 说如果我处于森林水平并进入海平面,我将如何回到森林水平? 游戏代码 解决方案 你不能. 我将不得不猜测代码的结构,因为您还没有提供简短,自我包含
0 2023-05-22
编程技术问答社区
如何在每次碰撞后显示正确数量的图像?
每次检测到碰撞时,我都在尝试显示适量的气球(图像). 请注意,碰撞效果很好,但是我很难弄清楚如何显示正确数量的气球. 碰撞在7个气球和枪之间.当气球被枪击中时,出现了一个少的气球.应该发生的事情是,当7个气球之一在第一个背景下击中时,一个气球应消失,并且新的背景应以相同的7个气球出现.然后,在新的背景下,如果撞到气球,气球应该消失并回到第一个背景.然后在第一个背景再次出现,这次应该出现6个气​​球,当气球击中时,应该消失,然后新的背景也出现了6个气球.这应该一直持续到所有气球消失为止. 因此,气球的数量应大约为7,7 6,6 5,5 4,4 3,3 2,2 1,1;其中每对中的第一个数字是第一个背景,第二个是新的背景. 这是我的代码: import pygame as pg import random as r import sys pg.init() bg = pg.image.load('bg.jpg')# Background Image # bg
10 2023-05-22
编程技术问答社区
如何在Python-pygame中添加背景图片
我正在做游戏,砖砌. 我要在背景上添加图像,但没有显示. 我尝试了其他一些方法: 类背景(Pygame.sprite.sprite) - 我可以看到图像,但它隐藏了游戏 import pygame from pygame.locals import * import sys class Brickbreaker: def __init__(self): self.screen = pygame.display.set_mode((600, 600)) self.image = pygame.image.load("bg.png") self.blocks = [] self.paddle = [[pygame.Rect(300, 500, 20, 10), 120], [pygame.Rect(320, 500, 20, 10),100],
12 2023-05-22
编程技术问答社区
如何在Pygame中为精灵或图像画一个边界?
我想在图像周围画一个红色边框,但无法弄清楚如何. 我试图填充Hero精灵的图像,并将ColorKey设置为红色self.image.set_colorkey(red),但这使得图像不可见. 在图像上绘制红色矩形,只需完全填充:pygame.draw.rect(self.image, red, [0, 0, width, height]). 我只想要一个将来有助于碰撞检测的红色边框. main.py.py 中的代码: import pygame from pygame import * import sprites from sprites import * pygame.init() width = 640 height = 480 color = (255, 255, 255) #white x = 0 y = 0 speed = 3 screen = pygame.display.set_mode((width, height)) pygame.di
2 2023-05-22
编程技术问答社区
调整图像内容的大小但保持图像尺寸
我正在尝试使用Pygame在Python中制作基本的口袋妖怪复制品.过去,我曾经关注过有关该图书馆的一些教程.因此,对于这个项目,我将拥有基本的瓷砖结构,无论是草还是水.玩家不允许移动到水砖上,但可以在草地上自由移动.我通过教程获得的精灵是尺寸为64 x 64,它占据了整个瓷砖的空间,因此边界周围没有透明的像素. 但是,出于我的目的,我需要使用自己的精灵(64 x 64),这是我从精灵表中获得的.但是,在这种情况下,精灵将图像的上半部分视为透明的未使用像素.同样适用于精灵每一侧的宿舍.因此,我需要通过将可见像素大小沿两个轴乘以2来批量调整所有这些精灵大小.即,只需按比例尺.我可以轻松地增加精灵大小.未使用像素的比率保持不变. 我的问题: 我如何通过排放透明像素来调整精灵大小,但要保留64 x 64的原始尺寸,该透明像素将在64 x 64帧之外? 我需要一种可以用于我拥有的所有9600个精灵的方法,最好是在Python中,即使我不介意使用其他软件的解决方案.
6 2023-05-22
编程技术问答社区
Python/pygame--将图像转为视频
我正在使用Python中的Pygame模块使用我的网络摄像头拍照.问题是我想导出一个视频文件(不在乎哪种类型)要在其他地方使用.由于Pygame无法直接导出视频,因此我想有两种方法可以这样做: 以某种方式缝制了PyGame创建的照片. (我首选的方法) 使用外部库. 我每秒只需要4帧,我不在乎图片质量. 如何使用Python/Pygame制作视频? 解决方案 我有相同的问题并正在搜索解决方案. 我找到了 this 尽管我还没有尝试,但这似乎很好. 希望这会有所帮助.
10 2023-05-22
编程技术问答社区
PyGame-获取加载图像的大小
您好,即使您可能会认为有类似的问题,我的我也与此. 我正在尝试从目录加载图像,并将屏幕尺寸(自动)设置为被加载为"背景"的图像的大小. import pygame import sys from pygame.locals import * image_resources = "C:/Users/user/Desktop/Pygame App/image_resources/" class load: def image(self, image): self.image = image return (image_resources + image) def texture(self, texture): self.texture = texture return (image_resources + texture) bg = load().image("bg_solid_black.jp
6 2023-05-22
编程技术问答社区
使用pygame加载图片
这是我的背景网格的代码 Background = pygame.display.set_mode((900 ,900)) Green = (45,198,14) Background.fill(Green) for i in range(0, 900, 50): pygame.draw.line(Background, (0, 0, 0), (0, i), (900, i)) pygame.draw.line(Background, (0, 0, 0), (i, 0), (i, 900)) pygame.display.update() while pygame.event.wait().type != pygame.QUIT: pass 我无法将任何图像加载到它上,我必须将其转换为n映像,然后将其转换为一个精灵,或者有办法让我将图像加载到网格上.我试图使用闪电函数,但不会将图像放在网格上. RedInfantry= pygame.image.
14 2023-05-22
编程技术问答社区