|
|
||
|---|---|---|
| .. | ||
| pedometer-ios | ||
| stepcounter-android | ||
| README.md | ||
Stepstead — Pedometer Native Eklentiler
Adım sayar soyutlaması autoload/pedometer.gd içinde. Native plugin yoksa
otomatik simülasyon moduna düşer (editör/masaüstü test). Gerçek cihazda
adım okumak için aşağıdaki native eklentiler derlenip projeye eklenmeli.
GDScript ↔ native sözleşmesi (her iki platform aynı):
| Metot | Dönüş | Açıklama |
|---|---|---|
is_available() |
bool | Cihazda adım sayar sensörü var mı |
start() |
void | Dinlemeyi başlat |
stop() |
void | Dinlemeyi durdur |
get_step_count() |
int | Açılıştan beri kümülatif adım |
Singleton adları: Android = StepCounter, iOS = Pedometer.
Android (stepcounter-android/) — Mac'te derleme
Gereksinim: Mac + Android Studio (Android SDK API 34 + JDK 17) + Godot 4.6.
Gradle projesi hazır: settings.gradle, build.gradle, gradle.properties,
wrapper config (gradle/wrapper/gradle-wrapper.properties → Gradle 8.5).
Eksik tek şey wrapper binary'si ve godot-lib — aşağıda.
1. Android Build Template'i kur (godot-lib.aar için)
Godot editöründe projeyi aç → Project > Install Android Build Template.
Bu, proje köküne android/build/ oluşturur. Godot kütüphanesini bul:
find android/build -iname "godot-lib*.aar"
# örn: android/build/libs/release/godot-lib.template_release.aar
Bu AAR'ı plugin libs/ içine kopyala:
mkdir -p native/stepcounter-android/libs
cp android/build/libs/release/godot-lib.*.aar native/stepcounter-android/libs/
2. SDK yolunu bildir
cd native/stepcounter-android
echo "sdk.dir=$HOME/Library/Android/sdk" > local.properties
3. Gradle wrapper'ı üret + derle
Android Studio'da klasörü açarsan wrapper'ı otomatik üretir. CLI ile:
# Homebrew gradle ile tek seferlik wrapper üret (sonra ./gradlew yeter)
brew install gradle # yoksa
gradle wrapper --gradle-version 8.5
./gradlew assembleRelease
4. AAR'ı projeye koy + etkinleştir
cp build/outputs/aar/stepcounter-release.aar \
../../addons/stepcounter/stepcounter-release.aar
Godot: Project > Project Settings > Plugins > StepCounter = Enable. Android export'unda Use Gradle Build açık olmalı.
İzin: ACTIVITY_RECOGNITION (Android 10+). Export plugin manifest'e ekler,
pedometer.gd çalışma zamanında OS.request_permission(...) ile ister.
Not:
libs/,local.properties,.gradle/,build/ve wrapper jar'ı repoya girmez (bkz.gitignore).
iOS (pedometer-ios/) — yazıldı
CMPedometer (CoreMotion) Objective-C++ plugin. Singleton Pedometer,
aynı 4 metot. Kaynak + .gdip config + build/iPhone yükleme adımları:
pedometer-ios/README.md.
CMPedometer iOS Simulator'da çalışmaz → iPhone 13 ile gerçek cihaz testi. Derleme godot-ios-plugins harness (scons) ile, Xcode'da imzalı yüklenir.
Test (native plugin olmadan)
Editör/masaüstünde HUD'daki +100 butonu Pedometer.sim_add(100) çağırır,
ardından /world/sync-steps ile sunucuya gider. Sunucu dakika-başı tavan
(anti-cheat) uygular; aşan adımlar reddedilir ve step_log'a accepted=false
olarak yazılır.