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.
    • S
      Stephenn
      last edited by

      I want to make a d-pad that runs smoothly on a no gravity top view

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

        Make a birds eye view game, then add joystick controlled behaviour into the object you want to control.

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

          I only want the object to go straight not diagonally

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

            Then use the joystick up, down, left and right behaviours to move, and add a move by or something in them. I haven't made that sort of thing in a while, I believe I did in only one project, Winter Pac-Man.

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

              @Aidan-Oxley but then holding diagonally will activate two of the directions.

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

                @Jack8680 but you could output the angel of the joystick to make sure it's not diagonal with an "if". Like "if angle is not equal to 45" or something.

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

                  Thanks guys I will try this

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

                    I tried the if for angles. It works for 45 and 135 degrees but not 225 or 315 degrees, I think it must be a bug.

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

                      Can someone tell me how to use a photo?

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

                        I mean a screenshot in the forum

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

                          How to send a photo? Just press the upload button (cloud with arrow) that should show in the bar above the text box you type your forum post in, then pick your screenshot.

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

                            Ok thanks, does anyone know why this only moves north-east0_1493206677714_IMG_1319.PNG and this only faces 90 degrees0_1493206763970_IMG_1318.PNG I have changed it from this but it still does weird things

                            TutorialDoctorT iTap DevelopmentI 2 Replies Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post