Coder Social home page Coder Social logo

cdjoystick's Introduction

CDJoystick

Version License Platform Language

What is it?

CDJoystick is a Joystick for UIKit.

It is written in Swift 3 and uses IBDesignable, IBInspectable and Core Graphics.

Installation

CDJoystick is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "CDJoystick"

Alternatively, you can install it manually by copying the file CDJoystick.swift into your project.

Usage (Storyboards)

  1. Drag a UIView into your storyboard.
  2. Change the class of the UIView to CDJoystick.
  3. Customize your joystick using the inspector.

alt tag

Usage (Programmatically)

  1. Import the module:

    import CDJoystick
    
  2. Initialize an instance of CDJoystick using the constructor:

    let joystick = CDJoystick()
    joystick.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
    joystick.backgroundColor = .clear
    
  3. Customize the joystick:

    joystick.substrateColor = .lightGray
    joystick.substrateBorderColor = .gray
    joystick.substrateBorderWidth = 1.0
    joystick.stickSize = CGSize(width: 50, height: 50)
    joystick.stickColor = .darkGray
    joystick.stickBorderColor = .black
    joystick.stickBorderWidth = 2.0
    joystick.fade = 0.5
    
  4. Setup the tracking handler to get velocity and angle data:

    joystick.trackingHandler = { joystickData in
        self.objectView.center.x += joystickData.velocity.x
        self.objectView.center.y += joystickData.velocity.y
    }
    
  5. Add the joystick to your view:

    view.addSubview(joystick)
    

Author

Cole Dunsby, [email protected]

License

CDJoystick is available under the MIT license. See the LICENSE file for more info.

cdjoystick's People

Contributors

coledunsby avatar vknabel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cdjoystick's Issues

On release, values are not updated

Hi, Thanks for created a great library.

Is there a way to get the x and y values to reset once the joystick has been released ?

Currently have this:

        joystick.trackingHandler = {joystickData in
            self.xlabel.text = "\(joystickData.velocity.x)";
            self.ylabel.text = "\(joystickData.velocity.y)";
        }

Works fine when moving the joypad around, but as soon as I release the x and y values reported in the label get stuck on the values related to the last position of the joystick (even though the joystick has returned back to the middle visually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.