-
Notifications
You must be signed in to change notification settings - Fork 2
mouse
Uiz has some controlling mouse scripts. Some of these scripts are called every step for "obj_uiZ_" objects. They make sure that when the mouse hovers over an object, that only the frontmost object is selected to receive a signal that says "Hey, you the mouse is on you!".
Normally, we would have a mouse check in every object without uiz, and we would put the mouse over it, the object could run some code. This works for all objects individually. But if we have 2 objects overlapping each other, both objects might fire an event if the mouse is over it, while the user only intended one to be pressed. Uiz eliminates this problem by checking depth.
There are four global variables: "global.mouseoverobject", "global.mouseoverframe", "global.mouseoverwindow" and "global.mouseover".
- The "global.mouseover" variable works for all uiz objects and returns the one with the lowest depth at the place of the mouse.
- The "global.mouseoverframe" variable works only for frames and returns the one with the lowest depth at the place of the mouse.
- The "global.mouseoverwindow" variable works only for windows and returns the one with the lowest depth at the place of the mouse.
- The "global.mouseoverobject" variable works for all uiz objects except frames and returns the one with the lowest depth at the place of the mouse.
- The normal mouseover variable is going to be the most useful to you, and is recommended to use in normal objects.
Almost every uiz object has an uiz_mouse_docheck() script in its User Defined 1 Event. This script contains all of the important checks to be done for the mouse. This script has been put into an event for legacy reasons, and so that custom code can be written for when the mouse should or shouldn't be handled by your object.
Every object has their kmouseover variable calculated and set. This value holds the state of the mouse in relation to the instance in question.
- A kmouseover of uiz_nomouse=0 means no interaction between the mouse or the instance.
- A kmouseover of uiz_mouseover=1 means the mouse is hovering over the instance.
- A kmouseover of uiz_mouseclick=2 means the mouse is hovering over the instance and the left mouse button is being held.
- A kmouseover of uiz_mousepressed=3 means the mouse is hovering over the instance and the left mouse button has just been pressed.
- A kmouseover of uiz_mousereleased=4 means the mouse is hovering over the instance and the left mouse button has just been released.
See freezing the mouse.
Uiz sometime needs to change the mouse to something like a hand when the mouse hovers over a button.
However, in your game you might have different sprites for your mouse.
Therefore the script uiz_set_cursor(constant) was made.
It takes the same constants such as "window_set_cursor" (refer to game maker manual).
You can set a type of sprite for each constants using: global.uiz_cr_constanct_name.
Uiz reset the mouse to cr_default in the beginning of every step.
See uiz_set_cursor(constant) for more info.
πTutorials
Basics 1: Basic positioning
Basics 2: Parenting system
Basics 3: Advanced positioning
Basics 4: Advanced sizing and set point
Basics 5: Canvas and containment
Basics 6: Alpha and depth
Basics 7: Using the manual and Animations
Basics 8: Object backgrounds
Basics 9: Grids
Basics 10: Framesets
Basics 11: Windows
Basics 12: Scroll bars
βοΈ Positioning
π Depth
π Structures
π Objects
obj_uiZ_3waybutton
obj_uiZ_button
obj_uiZ_checkbox
obj_uiZ_clock
obj_uiZ_colorbox
obj_uiZ_cover
obj_uiZ_drawdslist
obj_uiZ_dropdown
obj_uiZ_easybutton
obj_uiZ_frame
obj_uiZ_framescrollbar
obj_uiZ_functionbar
obj_uiZ_gradientsquare
obj_uiZ_gradientroundrect
obj_uiZ_gridlist
obj_uiZ_huesquare
obj_uiZ_loadingbar
obj_uiZ_loadingcircle
obj_uiZ_menubutton
obj_uiZ_mousemenu
obj_uiZ_radiobox
obj_uiZ_rotator
obj_uiZ_slider
obj_uiZ_scrollbar
obj_uiZ_slider_2col
obj_uiZ_slickslider
obj_uiZ_slideframe
obj_uiZ_sprbutton
obj_uiZ_spriteanimationbutton
obj_uiZ_spritecounter
obj_uiZ_stringbox
obj_uiZ_sliderstruct
obj_uiZ_surfacecanvas
obj_uiZ_sprite
obj_uiZ_square
obj_uiZ_squarebutton
obj_uiZ_swipicon
obj_uiZ_switch
obj_uiZ_tabslider
obj_uiZ_tabs
obj_uiZ_treelist
obj_uiZ_text
obj_uiZ_text_background
obj_uiZ_textarea
obj_uiZ_valuebox
π Strings
uiz_addChar
uiz_changechar
uiz_charCanHaveAddon
uiz_returnCharAddon
uiz_charIsNumber
uiz_charIsNumberOrText
uiz_getlines
uiz_gettext_contained
uiz_gettextlines_contained
uiz_getValidVariableName
uiz_isSpaceChar
uiz_lastStringChars
uiz_removeChar
uiz_replaceChars_
uiz_string_copy
uiz_string_digits
uiz_string_format
uiz_string_fromReal
uiz_string_real_getFracLength
uiz_string_real_getIntLength
uiz_string_repeat
uiz_string_replace
uiz_string_pos_at
uiz_stringUntilNewline