问题标签 [kivy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
487 浏览

python - 快速增加精灵位置而没有延迟 - Python

我正在使用 Python 中的 Kivy 为学校项目制作 PONG 游戏。到目前为止,感谢这个论坛,我已经为 NPC 桨制作了一些 AI。这是代码:

这是在 PongGame() 类的一个方法中,称为ArtificialIntelligence()。

我用这个来称呼它:

这允许我每 1/300 秒调用一次。但是,任何超过1/300的东西,我似乎都没有区别。即 1/9001 不会每 1/9001 秒调用一次。

它的工作方式是相对于球的位置将 y 坐标增加 4 个像素,并且每 1/300 秒执行一次,因此它不会以这种速度“滞后”。这对玩家来说基本上是一个“简单”的模式。如果我想做一个“硬”模式,我需要让NPC更准确。我可以这样做

像这样的东西。这将是非常准确的。但是,它看起来并不“流畅”,它看起来“滞后”。我假设我可以通过更频繁地调用该方法来获得相同的移动量,而不是通过改变像素移动来改变它的移动量。但是,我不知道如何做到这一点,因为正如我所说,从 1/300 以上的任何位置更改它似乎没有任何区别。

这就是我使用桨的方式:

我可以随心所欲地移动它,因为它会随着我移动鼠标而更新。它看起来很流畅,因为它会根据需要更新。我不知道如何用我的 AI 做到这一点。

有谁知道我怎样才能基本上使 NPC 桨更准确,让我做 Easy-Normal-Hard 等,同时保持流动性和没有滞后?我只看到一种方法可以做到:增加调用方法的数量。

但是我打赌有更好的方法,我不知道该怎么做。有谁知道我怎么能做到这一点?谢谢。

编辑:看起来我可以这样做:

但这看起来真的很丑陋而且效率很低......我更喜欢更清洁的方式。

0 投票
1 回答
1884 浏览

python - 了解 Kivy 中的小部件

我是一名新手程序员,目前正在使用 kivy 作为 GUI 平台学习 python。

我正在阅读 kivy 手册并正在研究小部件。我想在教程画家小部件上尝试一些东西,但经过数小时的尝试,未能如愿。

我想要的应该很简单。我有一个小部件,它在触摸屏幕后创建一条随机线。我认为在某个区域触摸屏幕后自动重复添加线条会很有趣。所以我制作了一个函数,不断向小部件“注入”数据以创建更多行。

但我根本无法与小部件“交流”。我不知道小部件“实例”名称是什么。所以我通过命名它来创建实例painter,好吧,让我们分享一下代码:

希望有人可以为我提供如何做到这一点的答案,并可能向我解释一下小部件是如何工作的。我将它视为 python 中的标准类,但我认为它的工作方式与此略有不同。

干杯。

0 投票
4 回答
15214 浏览

python - Kivy 的 TextInput 小部件中的 Tab/Enter(和其他击键)处理

我正在使用 Kivy 框架编写一个应用程序,我偶然发现了一个小而烦人的问题:我不知道如何处理文本字段中的Tab/Enter/Arrow键,以便按下它们中的任何一个都会发送一个事件,例如。将焦点(跳转)切换到另一个TextInput或启动类似send_form()

任何人都可以对这个问题有所了解吗?

0 投票
1 回答
1318 浏览

kivy - 为 kivy 发行版 .apk 编码源代码

我最近刚刚开始使用 kivy 进行开发以进行测试并构建第一个 .apk ,所以我想到了一个问题。

main.py 包含源代码,如果我想分发我的 apk,我可能不想“可读”......所以当我为 google play 创建 .apk 时,有没有办法编码或隐藏我的主代码商店或作为普通的 linux 应用程序?

多谢你们!

0 投票
1 回答
12907 浏览

python - 无法在 Kivy 中设置布局大小

首先,如果它们是一些系统差异,我在 Ubuntu 12.04 上工作,使用当前的 Kivy 版本。我的问题是我无法设置布局大小。

任何的想法?

0 投票
1 回答
7282 浏览

python - 如何在 Python/Kivy 中实现 ScrollView

我编写了一些代码来在 Python/Kivy 中显示一些内容,看来我没有写好 ScrollView。

我在程序中尝试了一些变化,但程序不显示滚动条。

这是我的代码:

我的问题是:我需要做什么来显示 scroolbar ???

谢谢

0 投票
1 回答
1164 浏览

python - 尝试在 kivy 中构建节拍器 - 事件循环管理

因为我在这里没有找到任何东西,所以我试着提出我的问题。

我正在尝试在 kivy 中构建一个简单的节拍器。我基本上采用了安装时提供的音频示例,并且想添加节拍器功能。

如您所见,我将课程从 更改ButtonToggleButton

我试图用 放一个while循环self.sound.play(),但这会导致无穷大,所以基本上我正在寻找一种方法来打破循环,如果我再次按下按钮。

我并没有真正理解文档中的事件循环管理,我认为这应该是答案,但我以前从未使用过事件循环。如果有人可以为这种情况提供一些示例代码,那就太好了。

0 投票
1 回答
823 浏览

python - Kivy:SoundLoader 和加载多个文件,但不是“双重加载”

我想通过 SoundLoader 模块在 kivy 中加载多个声音文件 (*.ogg)。这些文件从 300kB 到 700kB 大。

发生的情况是:前几个文件被加载,然后它跳过剩余的文件。

有没有更好(也许更快)的方式来加载文件?是否可以将已加载的文件“链接”到另一个 Button 实例,而不复制它(或损害它的文本)?

这是有问题的代码:

提前致谢 ;)

0 投票
1 回答
735 浏览

android - Kivy:声音开始播放,但在 Android 上“不可阻挡”,但在 Windows 上有效

我在 kivy 中获得了一系列 ToggleButtons,每个都加载了不同的声音文件。

当我在 Windows 中尝试我的代码时,一切都按预期工作,但在 Android 上通过 Kivy Launcher 时,声音不会停止。

这是它的作用/应该做的:

  • 使用先前指定的声音文件创建一个AudioButton实例(也指定:size_hintfont_sizegroup(作为单选按钮)
  • on_presskillsound当 Button 的状态改变时触发回调
  • 当按钮是state=='down'声音播放时,按钮的文本会附加一个标题
  • 如果按钮是state=='normal'它会停止当前播放的声音,如果相关按钮被按下,如果另一个按钮被按下,则有回调:

回调(killsound):

  • 状态改变时直接停止声音
  • 删除之前添加的 Caption 并调整 Button 的大小

在 Windows 上,此代码一切正常。然而,在 Android 上,当killsoundget 被调用时,它会删除标题并调整按钮的大小,但不会停止声音 - 旧声音(应该停止)仍在播放,新声音开始,所以我得到了两个声音同时播放,相同的有两个以上的声音。

你能帮助我吗?

0 投票
2 回答
3735 浏览

python - Kivy - 单击按钮时编辑标签

我希望 button1 在单击时编辑标签“etykietka”,但我不知道如何。你有什么想法吗?