Closed Marcinosoft closed 3 years ago
O, dzięki. Bazowałem na dokumentacji: https://pygame-zero.readthedocs.io/en/stable/ide-mode.html - jak widać nie można do końca niczemu dowierzać.
Ale właśnie na Atom sprawdzam:
I w IDLE:
To jest tak, że to się owszem uruchamia, nawet w PyCharm, ale PyCharm krzyczy, że nie wie co to np. screen.
Narzekają na to w internecie, ale raczej nie będzie ruszone patrząc na to zgłoszenie: https://youtrack.jetbrains.com/issue/PY-41151
Więc dzielę się obejściem dla lubiących PyCharma, bo w takiej wersji działa również na innych IDE.
Ale widzę, że nie robi problemów przy uruchamianiu, tylko wewnętrznie nie potrafi wczytać docstringów. Ale to nie jest w sumie wielki/żaden błąd. Wystarczy użyć innego edytora ;-) Albo przymknąć oczy ;-)
W zasadzie problemem jest tylko obiekt screen. Inne da się zaimportować z pgzero.builtins (poprawiłem w treści zgłoszenia). Owszem na screen można przymknąć oko, lub po prostu zaznaczyć, aby PyCharm ignorował ten błąd, ale import pgzero.builtins warto dodać, dzięki temu PyCharm widzi referencje wszystkich obiektów/klas, działa asysta kodu (podpowiadanie właściwości/metod), poza obiektem screen.
Nie wiem jak w Visual Studio Code, ale w PyCharm, czy Wing sposób podany w https://github.com/kodujwpythonie/koduj-w-pythonie/blob/master/program_idle_pycharmvscode.py generuje błąd.
PyCharm nie widzi (Unresolved reference) klas i obiektów: Actor, music, screen, animate, sounds, keyboard, clock
Aby umożliwić uruchamianie przykładów poza Mu należy dopisać przed kodem:
Następnie wszystkie wystąpienia
screen
, należy prefixować przy pomocymod.
, czyli:mod.screen
I w takim wydaniu nie ma błędów w IDE i wszystko działa poprawnie. Przykład poprawionego
program_02.py
:Sprawdzone na PyCharm Community oraz Wing 101.
No i oczywiście należy zainstalować PyGame Zero:
pip install pgzero