All Projects → giginet → Rxspritekit

giginet / Rxspritekit

Licence: mit
👾 Reactive Extensions for SpriteKit

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Rxspritekit

Cathay
an iOS project for demonstration of Reactive Programming
Stars: ✭ 21 (-83.97%)
Mutual labels:  rxswift, carthage
Moya-Gloss
Gloss bindings for Moya
Stars: ✭ 37 (-71.76%)
Mutual labels:  rxswift, carthage
Magnetic
SpriteKit Floating Bubble Picker (inspired by Apple Music) 🧲
Stars: ✭ 1,252 (+855.73%)
Mutual labels:  carthage, spritekit
StackBarButtonItem
🔲 StackBarButtonItem can use BarButtonItem like StackView
Stars: ✭ 55 (-58.02%)
Mutual labels:  rxswift, carthage
Rxappstate
RxSwift extensions for UIApplicationDelegate methods to observe changes in your app's state
Stars: ✭ 328 (+150.38%)
Mutual labels:  rxswift, carthage
Iossampleapp
Sample iOS app demonstrating Coordinators, Dependency Injection, MVVM, Binding
Stars: ✭ 510 (+289.31%)
Mutual labels:  rxswift, carthage
Collectionnode
a collectionView made for Sprite Kit
Stars: ✭ 96 (-26.72%)
Mutual labels:  carthage, spritekit
Fierycrucible
A minimalist type safe Swift dependency injection library
Stars: ✭ 112 (-14.5%)
Mutual labels:  carthage
Sqift
Powerful Swift wrapper for SQLite
Stars: ✭ 119 (-9.16%)
Mutual labels:  carthage
Mmdb Swift
A tiny wrapper for libmaxminddb which allows you to lookup Geo data by IP address.
Stars: ✭ 111 (-15.27%)
Mutual labels:  carthage
Rxflow
RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern
Stars: ✭ 1,589 (+1112.98%)
Mutual labels:  rxswift
Lifesaver
Conway's Game of Life implemented as an artistic, abstract macOS screensaver and tvOS app using SpriteKit
Stars: ✭ 113 (-13.74%)
Mutual labels:  spritekit
Actionclosurable
Extensions which helps to convert objc-style target/action to swifty closures
Stars: ✭ 120 (-8.4%)
Mutual labels:  carthage
Microfeatures Example
📦📱 Example of iOS app built using the uFeatures architecture
Stars: ✭ 112 (-14.5%)
Mutual labels:  carthage
Croc
Swift emoji string parsing library
Stars: ✭ 124 (-5.34%)
Mutual labels:  carthage
Shari
Shari is the alternative to the library of UIPickerView(drum roll) in Swift. You can select a item using UITableView.
Stars: ✭ 111 (-15.27%)
Mutual labels:  carthage
Easyreact
Are you confused by the functors, applicatives, and monads in RxSwift and ReactiveCocoa? It doesn't matter, the concepts are so complicated that not many developers actually use them in normal projects. Is there an easy-to-use way to use reactive programming? EasyReact is born for this reason.
Stars: ✭ 1,616 (+1133.59%)
Mutual labels:  rxswift
Adpuzzleanimation
Inspired by Fabric - Answers animation. Allows to "build" given view with pieces. Allows to "destroy" given view into pieces
Stars: ✭ 123 (-6.11%)
Mutual labels:  carthage
Skeletonview
☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting
Stars: ✭ 10,804 (+8147.33%)
Mutual labels:  carthage
Bark
Bark is an iOS App which allows you to push customed notifications to your iPhone
Stars: ✭ 2,371 (+1709.92%)
Mutual labels:  rxswift

RxSpriteKit

Build Status Language Carthage compatible CocoaPods Compatible Platform License

React extensions for SpriteKit 👾

Installation

Carthage

github "giginet/RxSpriteKit"

CocoaPods

use_framework!

pod "RxSpriteKit"

Usage

See RxSpriteKitDemo for detail.

import SpriteKit
import RxSpriteKit
import RxSwift
import RxCocoa

class GameScene: SKScene {
    private let disposeBag = DisposeBag()
    private var label: SKLabelNode!
    private let frameRelay = PublishRelay<Int>()

    override func sceneDidLoad() {
        super.sceneDidLoad()

        guard let label = childNode(withName: "//helloLabel") as? SKLabelNode else {
            fatalError("Label is not defined")
        }
        self.label = label
        rx.update
            .scan(0, accumulator: { frameCount, _ in frameCount + 1 })
            .bind(to: frameRelay)
            .disposed(by: disposeBag)
        frameRelay
            .map { CGFloat($0) * 0.01 }
            .bind(to: label.rx.zRotation)
            .disposed(by: disposeBag)
        frameRelay
            .map { CGPoint(x: 0, y: $0) }
            .bind(to: label.rx.position)
            .disposed(by: disposeBag)
        frameRelay
            .map { String(describing: $0) }
            .bind(to: label.rx.text)
            .disposed(by: disposeBag)
    }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].