OMJoystickはSwiftUI用のジョイスティックUIライブラリです。CocoaPodsとSwift Package Managerからダウンロードできます。
動作イメージ
インストール方法
CocoaPodsでPodfileに下記のように記述します。
pod 'OMJoystick'
動かし方
以下のコードで、デフォルト設定のまま動かすことができます。
import SwiftUI
import OMJoystick
struct ContentView: View {
var body: some View {
OMJoystick(colorSetting: ColorSetting()) { (joyStickState, stickPosition) in
}
}
}
アイコンやサイズ、色などの見た目を変えたい場合は、下記のように設定します。
import SwiftUI
import OMJoystick
import SFSafeSymbols
struct ContentView: View {
let iconSetting = IconSetting(
leftIcon: Image(systemSymbol: .arrowLeft),
rightIcon: Image(systemSymbol: .arrowRight),
upIcon: Image(systemSymbol:.arrowUp),
downIcon: Image(systemSymbol: .arrowDown)
)
let colorSetting = ColorSetting(subRingColor: .red, bigRingNormalBackgroundColor: .green, bigRingDarkBackgroundColor: .blue, bigRingStrokeColor: .yellow)
var body: some View {
GeometryReader { geometry in
VStack(alignment: .center, spacing: 5) {
OMJoystick(isDebug: true, iconSetting: self.iconSetting, colorSetting: ColorSetting(), smallRingRadius: 70, bigRingRadius: 120
) { (joyStickState, stickPosition) in
}.frame(width: geometry.size.width-40, height: geometry.size.width-40)
}
}
}
}