Я только начал изучать python и почти уверен в OOP. Так что просто попытайтесь попрактиковаться в создании очень простого приложения с использованием kivy. Идея состоит в том, чтобы мяч отскакивал внутри экрана. При этом толщину границ можно увеличить, нажав кнопку, чтобы у мяча было меньше области для отскока.
Но возникла проблема на самом первом этапе программирования поведения границы. Я создал границы в файле .kv
и использовал переменную boundary_thickness
, чтобы присвоить ему начальное значение 10
. И используя метод boundaryIncrease
для обновления этого значения при каждом нажатии кнопки.
После запуска кода я не получаю никаких ошибок, но нажатие кнопки также не меняет толщину границы. Но я заметил, что после нажатия кнопки, если я изменяю размер окна, boundary_thickness
действительно обновляется до нового значения, а толщина границы увеличивается.
Есть ли способ обновить это значение в реальном -time, без необходимости каждый раз изменять размер окна?
Или способ исправить любую ошибку, которую я сделал?
PS Совершенно новый для мира программирования.
Заранее спасибо :)
**main.py**
from kivy.app import App
from kivy.uix.widget import Widget
class BounceGame(Widget):
boundary_thickness = 10
def boundaryIncrease(self):
self.boundary_thickness += 5
class BounceApp(App):
def build(self):
return BounceGame()
BounceApp().run()
**bounce.kv**
<BounceGame>
canvas:
Rectangle:
pos : 0, 0
size: self.boundary_thickness, root.height
Rectangle:
pos : 0, 0
size: root.width, self.boundary_thickness
Rectangle:
pos : root.width - self.boundary_thickness, 0
size: self.boundary_thickness, root.height
Rectangle:
pos : 0, root.height - self.boundary_thickness
size: root.width, self.boundary_thickness
Button:
center: root.center_x, root.center_y
text: "Button"
on_press: root.boundaryIncrease()