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. Does Behaviour Off not work instantly with duration Behaviours?

Does Behaviour Off not work instantly with duration Behaviours?

Scheduled Pinned Locked Moved Help and Support
28 Posts 5 Posters 5.6k Views 3 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.
  • D Offline
    D Offline
    Deeeds
    wrote on last edited by
    #1

    I am seeing Set Colour behaviours with a duration not being turned off instantly when called by a Behaviour Off .... behaviour.

    Is this how things are supposed to work?

    If so, is there any way to instantly cancel the activity of an active behaviour with duration?

    Aidan_FireA 1 Reply Last reply
    0
    • D Deeeds

      I am seeing Set Colour behaviours with a duration not being turned off instantly when called by a Behaviour Off .... behaviour.

      Is this how things are supposed to work?

      If so, is there any way to instantly cancel the activity of an active behaviour with duration?

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

      @Deeeds Looks like duration behaviours like to finish what they are doing even after they are spurned off, but I do know one thing that can stop/interrupt them: running another duration behaviour on the object while the previous is still running.

      E.g for stopping a set colour duration instantly:
      Instead of turning Set Colour off, add a Get Colour and then Set Colour to the Get Colour with a 0s duration.

      EDIT: Did some testing and this actually doesn’t work. Set colour really wants to finish what it’s doing, but I found a different way to stop it. Disabling the object that is changing colour over a duration will stop it from continuing to set colour. After disabling it, I think you could just re enable it instantly (just don’t have the Enable Object inside the object being disabled).

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

        Here’s a weird way to do it....you could have the duration be from a box container(or value of your choice), then when you want to interrupt, have your “interrupt event” set the duration to 0, get the color and retrigger the set color with it, then set the duration back to whatever it was before.

        D 1 Reply Last reply
        0
        • T Offline
          T Offline
          Thecheater887
          wrote on last edited by
          #4

          Behavior on doesn’t (seme) to Work after a wait behavior if it means anything.

          D 1 Reply Last reply
          1
          • Aidan_FireA Aidan_Fire

            @Deeeds Looks like duration behaviours like to finish what they are doing even after they are spurned off, but I do know one thing that can stop/interrupt them: running another duration behaviour on the object while the previous is still running.

            E.g for stopping a set colour duration instantly:
            Instead of turning Set Colour off, add a Get Colour and then Set Colour to the Get Colour with a 0s duration.

            EDIT: Did some testing and this actually doesn’t work. Set colour really wants to finish what it’s doing, but I found a different way to stop it. Disabling the object that is changing colour over a duration will stop it from continuing to set colour. After disabling it, I think you could just re enable it instantly (just don’t have the Enable Object inside the object being disabled).

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

            @Aidan-Oxley these are spawned objects, meaning I don’t know how to control them externally with a disable object, or re-enable, because there’s no references and a disabled object can’t receive messages.

            1 Reply Last reply
            0
            • iTap DevelopmentI iTap Development

              Here’s a weird way to do it....you could have the duration be from a box container(or value of your choice), then when you want to interrupt, have your “interrupt event” set the duration to 0, get the color and retrigger the set color with it, then set the duration back to whatever it was before.

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

              @iTap-Development I've just tried this. It doesn't work.

              I've also tried inserting a stop behaviour, and using an execute behaviour instead of a behaviour on. None of them make a difference.

              I'm using Set Input Fields to update the value in the Box Container, so they should be instant.

              I think it's practically impossible to interrupt a Set Colour with duration.

              Aidan_FireA 1 Reply Last reply
              0
              • D Deeeds

                @iTap-Development I've just tried this. It doesn't work.

                I've also tried inserting a stop behaviour, and using an execute behaviour instead of a behaviour on. None of them make a difference.

                I'm using Set Input Fields to update the value in the Box Container, so they should be instant.

                I think it's practically impossible to interrupt a Set Colour with duration.

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

                @Deeeds You could try putting all the spawned objects in a tag, then just whenever they disable themselves they trigger another object to enable the tag again (with restart behaviours turned off), shouldn’t make any difference to those already enabled.

                Aidan_FireA iTap DevelopmentI 2 Replies Last reply
                0
                • Aidan_FireA Aidan_Fire

                  @Deeeds You could try putting all the spawned objects in a tag, then just whenever they disable themselves they trigger another object to enable the tag again (with restart behaviours turned off), shouldn’t make any difference to those already enabled.

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

                  Lemme do some more testing, if I come up with something I’ll post a test project link.

                  1 Reply Last reply
                  0
                  • T Thecheater887

                    Behavior on doesn’t (seme) to Work after a wait behavior if it means anything.

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

                    @Thecheater887 Behaviour On, for Set Colour, doesn't seem to work even without having a wait behaviour anywhere in the mix. I have to turn it on, and then fire an Execute Behaviour to get it to work.

                    Making a lie out of this bit of the documentation:

                    "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

                    iTap DevelopmentI 2 Replies Last reply
                    0
                    • D Deeeds

                      @Thecheater887 Behaviour On, for Set Colour, doesn't seem to work even without having a wait behaviour anywhere in the mix. I have to turn it on, and then fire an Execute Behaviour to get it to work.

                      Making a lie out of this bit of the documentation:

                      "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

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

                      @Deeeds if you have “skip events” (I think that’s what the toggle is called) on, it will execute immediately.

                      D 1 Reply Last reply
                      0
                      • iTap DevelopmentI iTap Development

                        @Deeeds if you have “skip events” (I think that’s what the toggle is called) on, it will execute immediately.

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

                        @iTap-Development You surmise.

                        Not true.

                        1 Reply Last reply
                        0
                        • Aidan_FireA Aidan_Fire

                          @Deeeds You could try putting all the spawned objects in a tag, then just whenever they disable themselves they trigger another object to enable the tag again (with restart behaviours turned off), shouldn’t make any difference to those already enabled.

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

                          @Aidan-Oxley said in Does Behaviour Off not work instantly with duration Behaviours?:

                          @Deeeds You could try putting all the spawned objects in a tag, then just whenever they disable themselves they trigger another object to enable the tag again (with restart behaviours turned off), shouldn’t make any difference to those already enabled.

                          I’m pretty sure turning on a behavior that’s already on will actually trigger it, just like an execute behavior.(as long as skip events is on, or it’s not connected under other behaviors)

                          D 1 Reply Last reply
                          0
                          • iTap DevelopmentI iTap Development

                            @Aidan-Oxley said in Does Behaviour Off not work instantly with duration Behaviours?:

                            @Deeeds You could try putting all the spawned objects in a tag, then just whenever they disable themselves they trigger another object to enable the tag again (with restart behaviours turned off), shouldn’t make any difference to those already enabled.

                            I’m pretty sure turning on a behavior that’s already on will actually trigger it, just like an execute behavior.(as long as skip events is on, or it’s not connected under other behaviors)

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

                            @iTap-Development Read up a little...

                            Behaviour On, for Set Colour, doesn't seem to work even without having a wait behaviour anywhere in the mix. I have to turn it on, and then fire an Execute Behaviour to get it to work.
                            Making a lie out of this bit of the documentation:
                            "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

                            D 1 Reply Last reply
                            0
                            • D Deeeds

                              @iTap-Development Read up a little...

                              Behaviour On, for Set Colour, doesn't seem to work even without having a wait behaviour anywhere in the mix. I have to turn it on, and then fire an Execute Behaviour to get it to work.
                              Making a lie out of this bit of the documentation:
                              "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

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

                              @iTap-Development

                              Look at the screenshot at the start of this thread:

                              https://forum.hyperpad.com/topic/763/understanding-behaviour-priority

                              or it’s not connected under other behaviors

                              1 Reply Last reply
                              0
                              • D Deeeds

                                @Thecheater887 Behaviour On, for Set Colour, doesn't seem to work even without having a wait behaviour anywhere in the mix. I have to turn it on, and then fire an Execute Behaviour to get it to work.

                                Making a lie out of this bit of the documentation:

                                "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

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

                                @Deeeds said in Does Behaviour Off not work instantly with duration Behaviours?:

                                Making a lie out of this bit of the documentation:

                                "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

                                In reply to this statement. http://bit.ly/2iFDIDv
                                Surmise? Surprise!

                                D 1 Reply Last reply
                                0
                                • iTap DevelopmentI iTap Development

                                  @Deeeds said in Does Behaviour Off not work instantly with duration Behaviours?:

                                  Making a lie out of this bit of the documentation:

                                  "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately".

                                  In reply to this statement. http://bit.ly/2iFDIDv
                                  Surmise? Surprise!

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

                                  @iTap-Development Have you read above? Stayed up on the thread this extends from?

                                  iTap DevelopmentI 1 Reply Last reply
                                  0
                                  • D Deeeds

                                    @iTap-Development Have you read above? Stayed up on the thread this extends from?

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

                                    @Deeeds I made the project because of this statement... “Making a lie out of this bit of the documentation:
                                    "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately”.

                                    Have you played the project?

                                    D 1 Reply Last reply
                                    0
                                    • HamedH Online
                                      HamedH Online
                                      Hamed
                                      Admin
                                      wrote on last edited by
                                      #18

                                      This looks like a bug. If you guys find more behaviours that don't turn off immediately, Make a new thread with a list of them and please just reply with another behaviour that doesn't turn off immediately.

                                      D 1 Reply Last reply
                                      0
                                      • HamedH Hamed

                                        This looks like a bug. If you guys find more behaviours that don't turn off immediately, Make a new thread with a list of them and please just reply with another behaviour that doesn't turn off immediately.

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

                                        @Hamed A holistic approach to this is that all behaviours be interruptible, from anywhere, anyhow, anytime, on any given object.

                                        There's a better way than the current "restart on restart of same behaviour" approach, and that's an object specific and behaviour type consideration, that instantly overrides any behaviours of the same type on any object.

                                        An example, so that this can make some sense:

                                        A rollover, in a game, that scores when the player's character moves over it, and lights up, has four basic states

                                        • Untouched

                                        • Touched

                                        • Touching

                                        • TouchEnded

                                        Due to the lack of states and a bunch of other issues (no referencing or addressability of objects), the best way (that I've found) is to communicate with the rollovers via Broadcast and Receive.

                                        This is particularly true if spawning a dozen or more rollovers into positions within the game world.

                                        A message is sent to the rollover, from the hero's contact filtering, to say the touch has ended, and the rollover begins an animation to show that it's no longer being touched. This animation might be made up of a scaling effect, a couple of Set Colour changes, maybe even a blend mode change, and a slight positional "hop" and other visual "effects", perhaps its own sound etc etc... All of which are created to get around the lack of spritesheets and bitmap fonts...

                                        However, having left the rollover behind, the hero character could turn around and reTouch the rollover while the TouchEnded animations are still running. Meaning that all of these animations and events need to instantly stop so that the Touched Animations can state and be instantly entered, in their right initial states, visually correctly.

                                        This, currently, can't be done because Set Colour, amongst others, aren't interruptible.

                                        Similarly, the visual effects that mark the touching state need to be instantly torn down and interrupted when the player's character moves off the rollover, from touching to TouchEnded.

                                        If a given type of behaviour is evoked on an object, anywhere, anyhow, anytime, all behaviours of the same type (on that object) instantly stop, and the new behaviour starts from there. This is the most basic sort of interruptibility, and what I'd assumed would happen.

                                        Because there's a lack of states in hyperPad, this most basic type is the most egalitarian way to provide interruptibility.

                                        1 Reply Last reply
                                        0
                                        • iTap DevelopmentI iTap Development

                                          @Deeeds I made the project because of this statement... “Making a lie out of this bit of the documentation:
                                          "Behaviour On: Enable any disabled behaviour on your screen and cause it to execute immediately”.

                                          Have you played the project?

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

                                          @iTap-Development Don't be ridiculous. Stay in context. Please.

                                          T 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