logo hyperPad Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Login

    How can I make a smooth d-pad

    Scheduled Pinned Locked Moved
    Help and Support
    9
    71
    5.3k
    Loading More Posts
    • 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.
    • TutorialDoctorT
      TutorialDoctor @Stephenn
      last edited by TutorialDoctor

      @Stephenn If you were to output the joystick controlled angle to a text label, you can see that the angles go from 0 to 180 on the right side and 0 to -180 on the left side. The angle is never 270 degrees. So "If Greater Than 210" is invalid.

      1 Reply Last reply Reply Quote 0
      • iTap DevelopmentI
        iTap Development @Stephenn
        last edited by

        @Stephenn how you have that set up isn't going g to work I don't think.... because if the angle is 271, all of those IF's will run, because 271 is greater than 0 and 90 and 180 and 270. (Although only the first two IF's are valid angles)
        Instead you should use the joystick up, down, left, and right behaviors.
        So to move right, you would do a joystick right, and an IF to check if the angle is greater than 45, then another IF to check if the angle is less than 135, and then your "move by" behavior.
        And it would be the same for all the other directions, except(obviously) different numbers in the IF's.
        also, you might want to have either the UP and DOWN or LEFT and RIGHT IF's be "greater than or equal to" and "less than or equal to" because otherwise the 45, 135, -45, and -135 angles wouldn't trigger ANY movement. But it would HAVE to be either up and down OR left and right.

        I hope that makes some sense!

        Also, @TutorialDoctor is right about the angle output. But it is 0 to -180 on the left side.

        1 Reply Last reply Reply Quote 0
        • TutorialDoctorT
          TutorialDoctor
          last edited by TutorialDoctor

          This looks like something similar to my 3D rotation example:

          https://forum.hyperpad.com/topic/273/logic-behavior-examples/16

          The greater thans should work the way he has it but The angle is never greater than 180. I would probably use Greater than 178 or 179 on the right side and less than -178/-179 on the left side. Also, the order of the behaviors seems to matter.

          iTap DevelopmentI 1 Reply Last reply Reply Quote 0
          • iTap DevelopmentI
            iTap Development @TutorialDoctor
            last edited by

            @TutorialDoctor I just checked, and both IF's trigger.

            1 Reply Last reply Reply Quote 0
            • Aidan_FireA
              Aidan_Fire
              last edited by

              I just used joystick up down left and right in one of my projects, worked fine for me, all I have it doing here is lightning up an arrow in the direction the player would go:0_1493242239371_IMG_3520.PNG

              1 Reply Last reply Reply Quote 0
              • Aidan_FireA
                Aidan_Fire
                last edited by

                This works
                0_1493243077664_IMG_3521.PNG

                iTap DevelopmentI Jack8680J 2 Replies Last reply Reply Quote 0
                • iTap DevelopmentI
                  iTap Development @Aidan_Fire
                  last edited by iTap Development

                  @Aidan-Oxley I think the problem was that if you Move the joystick diagonally, it would trigger two directions....like up and right. I actually didn't try it but that's what @Jack8680 said. If you were to get your joystick perfectly at like 45° I'm guessing it would trigger two directions for you.

                  Also, if you look at @Stephenn's screen shot, his IF's were greater than's not equal's, which is why I said they wouldn't work right. Because some thing like 271 is greater than 270,180,90, and 0, so I think all his IFs would get triggered.

                  Jack8680J 1 Reply Last reply Reply Quote 0
                  • Jack8680J
                    Jack8680 @Aidan_Fire
                    last edited by

                    @Aidan-Oxley moving diagonally activates two of the directions. With the way you have it, one of them gets priority based on which one activates last in the tick. This means that it might for example move up when you actually have it more to the right than up, I think there's about a 15° angle where both behaviours would activate.

                    1 Reply Last reply Reply Quote 0
                    • Jack8680J
                      Jack8680 @iTap Development
                      last edited by

                      @Stephenn This should work:
                      0_1493250473832_IMG_3207.PNG

                      iTap DevelopmentI 1 Reply Last reply Reply Quote 0
                      • iTap DevelopmentI
                        iTap Development @Jack8680
                        last edited by

                        @Jack8680 that is what I was trying to say to do, and probably failed lol 😂. I didn't think of what you did for the joystick down, but that's a good way to do it!

                        1 Reply Last reply Reply Quote 0
                        • S
                          Stephenn
                          last edited by

                          Ok thanks for the help everyone.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Stephenn
                            last edited by

                            Ok so I have my joystick 0_1493289167232_IMG_1321.PNG if I walk into an object I kind of squish into it can someone tell me how to fix this?

                            iTap DevelopmentI 1 Reply Last reply Reply Quote 0
                            • iTap DevelopmentI
                              iTap Development @Stephenn
                              last edited by

                              @Stephenn you could do this. Put the move behaviors in the "behavior off"'s and have each of the collided behaviors have one direction (up down left or right) selected. Now since the "stopped colliding" behavior doesn't have directions, you can just turn the move behaviors back on when the joystick moves in the opposite direction, since that would move it away from the object you hit.0_1493290353899_IMG_1866.PNG

                              @Murtaza why doesn't the stopped colliding have directions?

                              Aidan_FireA 1 Reply Last reply Reply Quote 0
                              • Aidan_FireA
                                Aidan_Fire @iTap Development
                                last edited by Aidan_Fire

                                I checked the screenshot I sent you, played the project and it works, there is no diagonal movement. Try it. @Jack8680 yeah but no one will notice it lol. Well I sort of do, but I don't really care, doesn't affect it in any major way.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Stephenn
                                  last edited by

                                  Ok thanks

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Stephenn
                                    last edited by

                                    @Aidan-Oxley, or anyone, how did you change the value of the box container?

                                    iTap DevelopmentI 1 Reply Last reply Reply Quote 0
                                    • iTap DevelopmentI
                                      iTap Development @Stephenn
                                      last edited by

                                      @Stephenn, any behavior output you put in the box container will set the value of the box container when the behavior runs . And you can drag as many outputs in a box container that you need.

                                      1 Reply Last reply Reply Quote 0
                                      • Aidan_FireA
                                        Aidan_Fire
                                        last edited by

                                        0_1493336261810_IMG_3523.PNG
                                        Press on the box container, then press on the symbol to the left of the default value.

                                        iTap DevelopmentI 1 Reply Last reply Reply Quote 0
                                        • iTap DevelopmentI
                                          iTap Development @Aidan_Fire
                                          last edited by

                                          @Aidan-Oxley I think this will work better, because with what you did you have to use the extra "set input field" behavior. For mine, When one of the add value's is triggered it will set the box container to its output automatically.0_1493340437316_IMG_1870.PNG

                                          Aidan_FireA 1 Reply Last reply Reply Quote 0
                                          • Aidan_FireA
                                            Aidan_Fire @iTap Development
                                            last edited by Aidan_Fire

                                            @iTap-Development Yeah I'm still not used to that, I'm still stuck in the old way of using box containers lol before they let you have multiple storages.

                                            iTap DevelopmentI TutorialDoctorT 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post