Unity3D☞button 和Rect上悬停显示tips

mac2022-06-30  77

/* button 和Rect上悬停显示tips */ var buttonText : GUIContent = new GUIContent( " some dasdfgwbutton " ); var buttonStyle : GUIStyle = GUIStyle.none; var leftPosition: float ; var topPosition: float ; var btn_w : float ; var btn_h : float ;public var isOver;public var create; function Awake(){isOver = false ;create = false ;} function Update(){Over();} function OnGUI() {GUILayout.Button( " My button " ); if (Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition )) { // GUILayout.Label( "Mouse over!" ); create = true ; if (isOver == true ){ if (btn_w < 100 && btn_h < 200 ){ btn_w += 1 ; btn_h += 2 ; } GUI.Window( 0 ,Rect(leftPosition,topPosition,btn_w,btn_h),ShowTips, "" ); }} else { create = false ;} var rt : Rect = GUILayoutUtility.GetRect(buttonText, buttonStyle); if (rt.Contains(Event.current.mousePosition)) { create = true ; if (isOver == true ){ if (btn_w < 100 && btn_h < 200 ){ btn_w += 1 ; btn_h += 2 ; } } GUI.Label(Rect(leftPosition,topPosition,btn_w,btn_h), " PosX: " + rt.x + " \nPosY: " + rt.y + " \nWidth: " + rt.width + " \nHeight: " + rt.height);}GUI.Button(rt, buttonText, buttonStyle);} function ShowTips(windowID: int ){ if (isOver == true ){ GUI.Box(Rect( 0 , 0 ,btn_w,btn_h), " Mouse over! " );}} function Over(){ if (create == true ){ leftPosition = Input.mousePosition.x; topPosition = Screen.height - Input.mousePosition.y; isOver = true ;} else { btn_w = 0 ; btn_h = 0 ;}}

转载于:https://www.cnblogs.com/Mygirl/archive/2011/07/07/2099740.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)