OnClick events starts on leaving the finger - unity3d

is there a way to trigger onclick events by the on click and not by leaving the finger because the onclick event only triggers when you leave the finger from the button.
Thanks

These are some of the helper UI that I collected a long time ago and I don't remember the source of them
I uploaded it to github now
There is a script name is ( LeanButton )
From which you can choose OnClick or DownClick
Like Image

You can use the GetMouseButtonDown. https://docs.unity3d.com/ScriptReference/Input.GetMouseButtonDown.html
Or potentially GetMouseButton
https://docs.unity3d.com/ScriptReference/Input.GetMouseButton.html
Depending if you want your event to happen once on pressed or repeatedly while pressed.

OnClick is triggered on MouseUp after MouseDown on the same object.
You can use PointerDown() that is sent the first time a finger touches the screen or a mouse button is pressed.

Related

How do i make a functional button in scratch?

I've been trying to make a button on scratch where if you press it once, it takes you to the help screen and if you press it again, it takes you back to the main menu. If anyone knows how to do this, please help! Thank you!
You could use two events. and you have everything on the help screen appear when one event happens, and hide when the other event occurs. Same with the main screen.
The code for the button would be something like this
when Green Flag clicked
go to front layer
forever
wait until mouse down and touching mouse-pointer
wait until not mouse down
broadcast msg1
wait until mouse down and touching mouse-pointer
wait until not mouse down
broadcast msg2
and for everything connected to the help screen,
when I receive msg1:
show
when I receive msg2:
hide
and for everything connected to the home screen,
when I receive msg2:
show
when I receive msg1:
hide
If you do not understand text for some reason:
Code for button:
Code for everything that is on main menu:
Code for everything that's on the home menu

Mapbox Right Mouse Click

I'm using the L.map contextmenu to listen for right clicks on the map. However, when I right click the map, in addition to the contextmenu event being fired, it also fires the mousedown event and the MouseEvent data does not indicate which mouse button was pressed, so the "left press" code is executed in addition to the "right press" code. Is there a way to get around this?
Thanks in advance.
Tony
If you want to listen to left click you must use the click event, if you want to listen for rightclick you must use the contextmenu event. The mousedown event fires on left and right click. It does exactly what it's supposed to do.

WPF MouseEnter does not fire when MouseButton is Pressed

In short: If any mouse button is Pressed when the mouse enters a WPF window, all mouse events are ignored regardless of whether the mouse is captured by any process.
The Challenge
Create two WPF 4.5 projects. In the first one, add a Border with a MouseDown handler. Inside that handler, do everything you can think of to release mouse capture:
this.ReleaseMouseCapture();
element.ReleaseMouseCapture(); // "sender"
Mouse.Capture(null);
while (Mouse.Captured != null)
Mouse.Captured.ReleaseMouseCapture();
ReleaseCapture(); //Win32.ReleaseCapture()
In the other project, add a MouseEnter handler to the default grid that will change its Background.
Start them both up, MouseDown on the border and "drag" to the other window. Until you release the mouse button, the second Window's background will not change.
What's really annoying is that if you stay within the first window, the attempts to "uncapture" the mouse appear to work. Add another element in the first window with a MouseEnter handler, and it will fire just fine. This implies that WPF doesn't know or care about cross-process capture. It just ignores events if any mouse button is in the Pressed state when the mouse first enters an application.
Anyone know if it's possible to have WPF elements respond to mouse events when the mouse was pressed before entering them?

hide cursor in mouse move handler and show it on mouse up

I'm developing a schematic editor, i need to hide the cursor when the middle key is down and moving, and show it again when the mouse up event occurs to implement an user friendly zooming system. The hide and show methods works fine when they are called from outside these event handlers, bud does not work when then called within the event handler!

GWT MouseClickEvent vs MouseDownEvent

Is there a standard way to separate MouseClick and MouseDown events in GWT?
If I click and hold button I still get MouseClick event together with MouseUp.
if I just click I still get MouseDown event together with MouseClick.
These events have some differences. Handle events which you need in a particular situation.
The thing is that in a general case ClickEvent includes MouseDownEvent and MouseUpEvent and cannot take place without of them. MouseDownEvent and MouseUpEvent precede ClickEvent. The same way as ClickEvent precedes DoubleClickEvent. But MouseDownEvent doesn't garantee that an ClickEvent will occur.
MouseDownEvent occurs every time when a user presses on one of the mouse buttons inside any element.
MouseUpEvent occurs when a user releases one of any mouse buttons.
and ClickEvent consists of both of these events. ClickEvent occurs when there're both these events on the same element. It's something like a combination of the mouse down and mouse up events. ClickEvent is generated only for the left mouse button unlike MouseDownEvent and MouseUpEvent.
That's ClickEvent is generated when a mouse is down then up while over an elem.
However, the mouse must stay within the same element, otherwise it won't occur.
For example, you pressed mouse down and moved outside of the element and release it. ClickEvent will not generated but MouseDownEvent will in this case.
And if you press mouse down and move outside the element, and move back in, then release it. ClickEvent will occur. And MouseDownEvent with MouseUpEvent will too.
If a user did click then this is the sequence of events:
MouseDownEvent
MouseUpEvent
ClickEvent
ClickEvent fires only after a user has released his mouse button.
Butt there's a way to create ClickEvent without generating of MouseDownEvent and MouseUpEvent:
click event will fire if a user used tab key to move the focus to a link and press Enter, but the MouseDown and MouseUp events will not.
Alternatively, you can open a link without generating ClickEvent:
click right button on a link and select on a item of dropdown list (in this case only MouseDownEvent and MouseUpEvent will fire)
also you can just pick up and drag a link to a new tab