Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
hyperPad

hyperPad Forum

  1. Home
  2. Help and Support
  3. Powers

Powers

Scheduled Pinned Locked Moved Help and Support
29 Posts 4 Posters 7.1k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • iTap DevelopmentI iTap Development

    @Deeeds that’s what I was planning on. I have no idea if that’s how it works though, except for how it looks on my iPad.

    D Offline
    D Offline
    Deeeds
    wrote on last edited by
    #11

    @iTap-Development You've come to the right monkey. Well, actually, I'm a gorilla... but enough about me.

    There's a multitude of cheat ways to do this that require very little work on your part. Here's one that's easy to articulate and understand, and hyperPad has the right tools to use:

    This doesn't require using powers and squares and all that guff, because someone else is doing it for you.

    Make a dummy object, and set it wherever you like, offscreen, probably best. Give it a mass you like, passable so it can't hit anything, and give it a gravity you like and an air resistance of your choosing. You'll have to experiment with these settings to get the right feel you want.

    Whenever your user releases a fast scroll, grab the velocity of the scroll (I'm sure you''re already doing this) and apply it to the dummy object, going up (against) towards gravity.

    And monitor its speed. Grab it every frame, and set your scrolling object to this same speed. When it reaches its peak, there's two actions you can use to deal with this.

    Stopped Moving might fire, but Started Falling definitely will. Use a little of that fall to roll back at the end of the scroll just a tiny bit. This looks very cool.

    iTap DevelopmentI 1 Reply Last reply
    0
    • D Deeeds

      @iTap-Development You've come to the right monkey. Well, actually, I'm a gorilla... but enough about me.

      There's a multitude of cheat ways to do this that require very little work on your part. Here's one that's easy to articulate and understand, and hyperPad has the right tools to use:

      This doesn't require using powers and squares and all that guff, because someone else is doing it for you.

      Make a dummy object, and set it wherever you like, offscreen, probably best. Give it a mass you like, passable so it can't hit anything, and give it a gravity you like and an air resistance of your choosing. You'll have to experiment with these settings to get the right feel you want.

      Whenever your user releases a fast scroll, grab the velocity of the scroll (I'm sure you''re already doing this) and apply it to the dummy object, going up (against) towards gravity.

      And monitor its speed. Grab it every frame, and set your scrolling object to this same speed. When it reaches its peak, there's two actions you can use to deal with this.

      Stopped Moving might fire, but Started Falling definitely will. Use a little of that fall to roll back at the end of the scroll just a tiny bit. This looks very cool.

      iTap DevelopmentI Offline
      iTap DevelopmentI Offline
      iTap Development
      wrote on last edited by
      #12

      @Deeeds that probably work, I just don’t like using dummy objects/physics to do this stuff. It’s cheating!

      D 1 Reply Last reply
      0
      • iTap DevelopmentI iTap Development

        @Deeeds that probably work, I just don’t like using dummy objects/physics to do this stuff. It’s cheating!

        D Offline
        D Offline
        Deeeds
        wrote on last edited by
        #13

        @iTap-Development This is exactly what Apple does. UIKitDynamics is invisibly attached physics objects for all their scrolling and visual responses, and even sorting collection views and a bunch of other cool stuff.

        Little known secret: A lot of people think UIKitDynamics is based off Box2D. It's not, it's Bullet Physics without the 3rd dimension, and customised for their purposes. Or so I'm lead to believe. Similarly, SpriteKit physics is Bullet Physics with an API made to be familiar to users of Box2D.

        In SceneKit, it's back to full 3D Bullet Physics.

        iTap DevelopmentI 1 Reply Last reply
        0
        • D Deeeds

          @iTap-Development This is exactly what Apple does. UIKitDynamics is invisibly attached physics objects for all their scrolling and visual responses, and even sorting collection views and a bunch of other cool stuff.

          Little known secret: A lot of people think UIKitDynamics is based off Box2D. It's not, it's Bullet Physics without the 3rd dimension, and customised for their purposes. Or so I'm lead to believe. Similarly, SpriteKit physics is Bullet Physics with an API made to be familiar to users of Box2D.

          In SceneKit, it's back to full 3D Bullet Physics.

          iTap DevelopmentI Offline
          iTap DevelopmentI Offline
          iTap Development
          wrote on last edited by
          #14

          @Murtaza is this how UI elements(specifically scrolling) will work when you add them?
          @Deeeds I'm not saying you are wrong, it just seems weird and kinda tacky way to do it🤷‍♂️

          D 1 Reply Last reply
          0
          • iTap DevelopmentI iTap Development

            @Murtaza is this how UI elements(specifically scrolling) will work when you add them?
            @Deeeds I'm not saying you are wrong, it just seems weird and kinda tacky way to do it🤷‍♂️

            D Offline
            D Offline
            Deeeds
            wrote on last edited by
            #15

            @iTap-Development Me? Wrong?

            Com'on now. Who do you think you're talking with?

            Don't believe me. There's no need:

            Watch the video: https://developer.apple.com/videos/play/wwdc2015/229/

            And read for yourself:

            https://developer.apple.com/documentation/uikit/animation_and_haptics/uikit_dynamics

            iTap DevelopmentI 2 Replies Last reply
            0
            • iTap DevelopmentI iTap Development

              @Murtaza or @Hamed or anyone, What would be the best way to have a number raised to a power? Since there’s no power behavior.

              Aidan_FireA Offline
              Aidan_FireA Offline
              Aidan_Fire
              wrote on last edited by
              #16

              @iTap-Development If your power is always staying the same, just multiply the two values together, then again and again until you reach your power. But if your power is changing during the project being run, yeah you’d use a loop or something. You know what else I’d like? More options than just square root. What about cubed root etc?

              iTap DevelopmentI 1 Reply Last reply
              0
              • Aidan_FireA Aidan_Fire

                @iTap-Development If your power is always staying the same, just multiply the two values together, then again and again until you reach your power. But if your power is changing during the project being run, yeah you’d use a loop or something. You know what else I’d like? More options than just square root. What about cubed root etc?

                iTap DevelopmentI Offline
                iTap DevelopmentI Offline
                iTap Development
                wrote on last edited by
                #17

                @Aidan-Oxley yeah the power is changing.
                Yes! Other roots would be great!

                1 Reply Last reply
                0
                • D Deeeds

                  @iTap-Development Me? Wrong?

                  Com'on now. Who do you think you're talking with?

                  Don't believe me. There's no need:

                  Watch the video: https://developer.apple.com/videos/play/wwdc2015/229/

                  And read for yourself:

                  https://developer.apple.com/documentation/uikit/animation_and_haptics/uikit_dynamics

                  iTap DevelopmentI Offline
                  iTap DevelopmentI Offline
                  iTap Development
                  wrote on last edited by iTap Development
                  #18

                  @Deeeds so if I scroll through my iMessages, thats a physics object doing the animation?

                  1 Reply Last reply
                  0
                  • D Deeeds

                    @iTap-Development Me? Wrong?

                    Com'on now. Who do you think you're talking with?

                    Don't believe me. There's no need:

                    Watch the video: https://developer.apple.com/videos/play/wwdc2015/229/

                    And read for yourself:

                    https://developer.apple.com/documentation/uikit/animation_and_haptics/uikit_dynamics

                    iTap DevelopmentI Offline
                    iTap DevelopmentI Offline
                    iTap Development
                    wrote on last edited by
                    #19

                    @Deeeds I checked out the links, pretty cool! I might make two versions of the scroll now!

                    Jack de WildeJ 1 Reply Last reply
                    1
                    • iTap DevelopmentI iTap Development

                      @Deeeds I checked out the links, pretty cool! I might make two versions of the scroll now!

                      Jack de WildeJ Offline
                      Jack de WildeJ Offline
                      Jack de Wilde
                      wrote on last edited by
                      #20

                      @iTap-Development (late reply) Math behaviours should be efficient enough that you can do integer powers through loops without freezing as long as you don't have them too large. It'd probably depend on what device is running, but I can calculate the 64th power of numbers through a loop in under a frame on iPad Air 2.

                      iTap DevelopmentI 1 Reply Last reply
                      0
                      • Jack de WildeJ Jack de Wilde

                        @iTap-Development (late reply) Math behaviours should be efficient enough that you can do integer powers through loops without freezing as long as you don't have them too large. It'd probably depend on what device is running, but I can calculate the 64th power of numbers through a loop in under a frame on iPad Air 2.

                        iTap DevelopmentI Offline
                        iTap DevelopmentI Offline
                        iTap Development
                        wrote on last edited by
                        #21

                        @Jack8680 I have iPad Pro second gen.
                        Shouldn’t be a problem at all then. Thanks!

                        1 Reply Last reply
                        0
                        • iTap DevelopmentI Offline
                          iTap DevelopmentI Offline
                          iTap Development
                          wrote on last edited by
                          #22

                          Any suggestions for the best way to get the velocity of scrolling?

                          Aidan_FireA 1 Reply Last reply
                          0
                          • iTap DevelopmentI iTap Development

                            Any suggestions for the best way to get the velocity of scrolling?

                            Aidan_FireA Offline
                            Aidan_FireA Offline
                            Aidan_Fire
                            wrote on last edited by
                            #23

                            @iTap-Development What do you mean? You could use a Get Velocity behaviour?

                            iTap DevelopmentI 1 Reply Last reply
                            0
                            • Aidan_FireA Aidan_Fire

                              @iTap-Development What do you mean? You could use a Get Velocity behaviour?

                              iTap DevelopmentI Offline
                              iTap DevelopmentI Offline
                              iTap Development
                              wrote on last edited by
                              #24

                              @Aidan-Oxley I don’t think get velocity will work on objects being moved by move behaviors though, right?

                              Aidan_FireA 1 Reply Last reply
                              0
                              • iTap DevelopmentI iTap Development

                                @Aidan-Oxley I don’t think get velocity will work on objects being moved by move behaviors though, right?

                                Aidan_FireA Offline
                                Aidan_FireA Offline
                                Aidan_Fire
                                wrote on last edited by Aidan_Fire
                                #25

                                @iTap-Development Oh, using Move behaviours. No it probably won’t. What you’d need to do then is divide the distance being moved by the time it’s being moved by. If your time is zero, then multiply by 60 instead of divide by time (dividing by zero is bad 😛).

                                iTap DevelopmentI 2 Replies Last reply
                                0
                                • Aidan_FireA Aidan_Fire

                                  @iTap-Development Oh, using Move behaviours. No it probably won’t. What you’d need to do then is divide the distance being moved by the time it’s being moved by. If your time is zero, then multiply by 60 instead of divide by time (dividing by zero is bad 😛).

                                  iTap DevelopmentI Offline
                                  iTap DevelopmentI Offline
                                  iTap Development
                                  wrote on last edited by
                                  #26

                                  @Aidan-Oxley ok I’ll try that. Yeah I won’t divide by zero!

                                  1 Reply Last reply
                                  0
                                  • Aidan_FireA Aidan_Fire

                                    @iTap-Development Oh, using Move behaviours. No it probably won’t. What you’d need to do then is divide the distance being moved by the time it’s being moved by. If your time is zero, then multiply by 60 instead of divide by time (dividing by zero is bad 😛).

                                    iTap DevelopmentI Offline
                                    iTap DevelopmentI Offline
                                    iTap Development
                                    wrote on last edited by iTap Development
                                    #27

                                    @Aidan-Oxley is get time behavior the best way to get the time? Is it fast?

                                    Aidan_FireA 1 Reply Last reply
                                    0
                                    • iTap DevelopmentI iTap Development

                                      @Aidan-Oxley is get time behavior the best way to get the time? Is it fast?

                                      Aidan_FireA Offline
                                      Aidan_FireA Offline
                                      Aidan_Fire
                                      wrote on last edited by Aidan_Fire
                                      #28

                                      @iTap-Development That’s not what I meant. I meant the time you have set in the Move behaviour (e.g move 0x and 7y over 4 seconds). The velocity for that example would be 7 ÷ 4 = 1.75m/s in y direction. You could do the same for x, and come up with an x velocity and a y velocity (depending on how your object is moving.

                                      iTap DevelopmentI 1 Reply Last reply
                                      1
                                      • Aidan_FireA Aidan_Fire

                                        @iTap-Development That’s not what I meant. I meant the time you have set in the Move behaviour (e.g move 0x and 7y over 4 seconds). The velocity for that example would be 7 ÷ 4 = 1.75m/s in y direction. You could do the same for x, and come up with an x velocity and a y velocity (depending on how your object is moving.

                                        iTap DevelopmentI Offline
                                        iTap DevelopmentI Offline
                                        iTap Development
                                        wrote on last edited by
                                        #29

                                        @Aidan-Oxley oh I see! Thank you!

                                        1 Reply Last reply
                                        0

                                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                        With your input, this post could be even better 💗

                                        Register Login
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Search