Buttons from others Scenes working on all scenes? (BUG)


(Steve) #1

Maybe I am wrong but it seems Buttons on other Scenes are active on my Home scene where they should not work…

What am I not understanding or is this a bug?

parkMap8.hype.zip (2.3 MB)


(Steve) #2

Example… The upper center area displays the erroneous hot spot which seems linked to other scenes orange button that links to a URL. The RED area is links incorrectly but the GREEN area works properly which it to move to the correct Scene (NO URL linkage)


#3

It’s because your firing a mousedown event and it’s carrying over to the next scene during the transition. It’s then picking up the button on the next scene if you press in the same area.

2 things to do to remedy the situation:

  1. Use a “click” listener instead of a “mousedown” listener.
  2. hide the button until it’s needed in the scene you can add a “hide” > “visible” animation. This has the same effect as turning the display on and off so the button will not be “clickable” until it’s visible.

or 3

  • use a “mouseup” event listener. :wink:

The mousedown may be firing more than once over it’s lifetime so I’m not sure if it’s a bug but just that mousedown does this.


(Steve) #4

Thanks DBear… I did have a “click” listener and changed that to a “mouseUp” which seems to work.

Now I’m off to learn how to do the “hide” > “visible” method rather than my usual use of opacity which seems to leave the object present, just not displayed.


#5

19D1F755-6FC0-401E-AFFF-264CD99D1E2B

9E3E72BF-4155-4ECB-86BD-8433BC94A0E3

FYI this is the listener I’m referring to:

47B2E0A3-35C7-4A5A-AF98-28F5E887F8CC


(Steve) #6

That’s what I already had in place which I believe is like css display:none but the item is still there even though not shown.

I see what you are talking of regarding the javascript. The Click event I was speaking of was the button on the secondary Scene.


#7

In the doc I downloaded (above) the opacity is 0% (which means you can’t see it but it’s still clickable) the display property (visible / hidden) is the thing you need to animate, this is what is related to “display: none”


(Steve) #8

But the Visibility attribute is opacity in the Timeline right? To toggle visible or not has to be done via javascript only?


#9

nope :slight_smile: Visibility is just the name of the panel. As you can see

Opacity

718A8447-5E74-4503-A173-3722EFF14601

and

Display

DBDD1303-248C-4364-BBE4-B90974584D38

are the actual properties that you can animate :wink:

65305A38-9713-458C-845B-ECAD7912B0FD


(Steve) #10

Found it! MAGIC!!! Love it… I knew it was there somewhere as I animated that property a few years back… Gotta juggle lots of cats so hard to stay on top of everything.

Thanks again DBear!


#11

Click on the dropdown where it says “Properties” ---- MAGIC!!! :smiley:

or record the action of clicking on the property in the inspector and it automatically adds it to your list :wink:


#12

@DBear

HI THERE - interesting topic! I don’t have a JS-programmer background,
but from my visual designer experience there is often need to switch off elements clickability temporarily without hiding it/them. Since ‘Ignore all pointer events’ is for some reason not listed in the Properties list, I wonder whether it’s possible to make element’s 'Ignore all pointer events’
animatable / toggleable with a custom js-function? What do you think?


(Mark Hunte) #13

It is possible using JS.
pointer events are part of the style css.

You can change value of the attribute like this.

element.style.pointerEvents = "none";

and

element.style.pointerEvents = "auto";