Unity3D ☞ button 和Rect上悬停显示tips

/*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/fm168/archive/2013/06/01/3112508.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值