You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`Buildozer` официально удобнее всего запускать на Linux
214
280
- на Windows обычно используют `WSL` или отдельную Linux-машину
281
+
- собирать проект лучше внутри Linux filesystem/WSL home, а не из Windows-диска
215
282
- на Android нужно заранее продумать ассеты, ориентацию экрана и touch-управление
216
283
217
284
### Минимальный сценарий сборки Android
@@ -247,6 +314,8 @@ s.run(
247
314
248
315
### Buildozer
249
316
317
+
`Buildozer` ставится и запускается внутри Linux/WSL-окружения.
318
+
250
319
Установка:
251
320
252
321
```bash
@@ -271,6 +340,11 @@ orientation = landscape
271
340
fullscreen = 1
272
341
```
273
342
343
+
Если вы тестируете не опубликованный `spritepro`, а локально модифицированную версию, заранее проверьте, как именно библиотека попадёт в Android build:
344
+
345
+
- либо используйте опубликованный пакет `spritepro`
346
+
- либо собирайте/подключайте свою локальную версию отдельно и проверяйте это до финальной сборки
-`spritePro.update_embedded(...)` — один кадр без `pygame.display.update()`
24
24
-`spritePro.mobile.run_kivy_app(...)` — низкоуровневый запуск, если нужна ручная настройка host-приложения
25
25
26
+
## Установка mobile-зависимостей
27
+
28
+
Если вы ставите библиотеку из `pip`:
29
+
30
+
```bash
31
+
pip install "spritepro[kivy]"
32
+
```
33
+
34
+
Если вы работаете из исходников:
35
+
36
+
```bash
37
+
pip install -e ".[kivy]"
38
+
```
39
+
26
40
## Full-screen по умолчанию
27
41
28
42
Сейчас режим по умолчанию для `Kivy` остаётся простым:
@@ -131,6 +145,122 @@ if left.rect.collidepoint(s.input.mouse_pos) and s.input.is_mouse_pressed(1):
131
145
132
146
Это работает и мышью на desktop, и касанием внутри `Kivy`.
133
147
148
+
## Пути к ассетам: делайте явно через `Path(__file__)`
149
+
150
+
Если игра должна одинаково работать в `pygame` и `kivy`, не полагайтесь на текущую рабочую папку и не пишите пути вроде `"spritePro\\demoGames\\Sprites\\hero.png"` или `"assets/player.png"` как "магическую" строку без привязки к файлу.
- запускает указанный `main.py` или папку проекта с `main.py`
205
+
- временно подменяет размер окна
206
+
- может быстро переключать `pygame` / `kivy` для игр на `s.run(...)`
207
+
- добавляет в title подпись вида `[kivy 360x640]`, чтобы не путать окна
208
+
209
+
Важно:
210
+
211
+
- переключение платформы через CLI рассчитано на современные игры, которые запускаются через `s.run(...)`
212
+
- если проект использует старый ручной цикл с `s.get_screen(...)`, override размера сработает, но автоматическое переключение на `kivy` через CLI не гарантируется
213
+
214
+
Что происходит при resize в `Kivy`:
215
+
216
+
-`s.WH` и `s.WH_C` обновляются под новый размер окна/виджета
217
+
- но уже созданные спрайты, панели и текст не перестраиваются автоматически только потому, что когда-то были созданы через `s.WH` или `s.WH_C`
218
+
- если нужен настоящий adaptive layout, пересчитывайте позиции и размеры от текущих `s.WH` / `s.WH_C` после resize
0 commit comments