Ошибка при загрузке текстурного атласа в моем приложении KIVY - PullRequest
0 голосов
/ 25 января 2019

Я не могу открыть отдельный спрайт в моем атласе, который я скомпилировал, используя подушку Киви. Я продолжаю получать «Ошибка загрузки текстуры» в интерпретаторе Python. Я новичок в kivy, поэтому я больше всего склоняюсь к тому, что неправильно, это моя файловая структура или то, как я ссылаюсь через строку. Существует очень мало документации о том, как структурировать файлы атласа в папке, содержащей main.py и main.kv, и как это относится к вашей строке атласа в файле kv.

Я попытался создать новую папку в папке, содержащей main.py и main.kv, и я назвал ее текстурами.

Структура данных выглядит следующим образом

C: \ Users \ Пользователь \ Рабочий стол \ 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

1 Ответ

0 голосов
/ 31 января 2019

Поэтому я подумал, что вам нужно включить атлас с номером страницы, а также снова указать имя атласа перед ссылочным спрайтом. Так что это было легко исправить, и я чувствую себя глупо. Но вот правильная исходная строка для тех, кому трудно понять формат.

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'
...