【问题标题】:Error while loading texture atlas in my kivy application在我的 kivy 应用程序中加载纹理图集时出错
【发布时间】:2019-01-25 12:35:01
【问题描述】:

我无法在我的地图集中打开使用 kivy 枕头编译的单个精灵。我在 python 解释器中不断收到“加载纹理时出错”。我是 kivy 的新手,所以我最大的问题是我的文件结构或我如何通过字符串引用。关于如何在包含 main.py 和 main.kv 的文件夹中构造 atlas 文件以及如何与 kv 文件中的 atlas 字符串相关的文档很少。

我尝试在包含 main.py 和 main.kv 的文件夹中创建一个新文件夹,并将其命名为纹理。

数据结构是这样的

C:\Users\User\Desktop\Main\textures\myatlas-0.png, myatlas.atlas

main.py

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.properties import StringProperty, ObjectProperty
from kivy.uix.image import Image
from kivy.uix.widget import Widget

class Sprite(Widget):
    pass

class MainApp(App):    

    def build(self):
        self.load_kv('sprite.kv')
        return Sprite()


if __name__ == "__main__":
    app = MainApp()
    app.run()

sprite.kv

<sprite.kv>
GridLayout:
    cols:1
    rows:1
    size: root.width * .8, root.height * .125
    center: root.width/2, root.height /1.1
    Image:  
        id: note1
        source: 'atlas://textures/myatlas-0/myatlas/N000'
        size_hint: .5, 1

执行时,kivy 应用程序中出现空白白框,python 解释器中出现“加载纹理时出错”

【问题讨论】:

    标签: python kivy file-structure texture-atlas


    【解决方案1】:

    所以我认为您必须在页码中包含图集,并在引用的精灵之前再次指定图集名称。所以这是一个简单的解决方法,我觉得很愚蠢。但是对于理解格式有点困难的人来说,这里是正确的源字符串。

    GridLayout:
        cols:1
        rows:1
        size: root.width * .8, root.height * .125
        center: root.width/2, root.height /1.1
        Image:  
            id: note1
            source: 'atlas://textures/myatlas/N000'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多