`
china34420
  • 浏览: 136442 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

热区提示类

阅读更多
以前一直用kinglong写的toolTip类,挺好用的.但最近总出现问题,不是toolTip的错,应该是我使用不当:当有两帧时,每帧都需要热区提示,但是翻来翻去就会出错,一直很郁闷.所以就自己写了一个toolTipWindow.as效果肯定没有kinglong的toolTip.as好.只能暂时用着了,向大家学习中....
下在是类文件代码:
package 
{
 import flash.display.DisplayObject;
 import flash.display.MovieClip;
 import flash.display.Sprite;
 import flash.display.Graphics;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
 import flash.text.TextFormat;
 import flash.events.MouseEvent;
 import flash.events.Event;
 import flash.geom.Point;
 import flash.display.DisplayObjectContainer;
 
 /**
  * ...热区提示...
  * @author zkl
  * @time 2010-7-27
  * @QQ:344209679
  */
 public class toolTipWindow extends Sprite
 {
  private var _sprite:Sprite;
  private var _label:TextField;
  private var obj:DisplayObjectContainer;
  private var mc:DisplayObject;
  private var str:String;
  
     /**
     * ...构造函数
     * 参数:显示对象容器,显示对象,显示内容
  * 如:new toolTipWindow(this, titleTS, "我是中国人");
     */
  public function toolTipWindow(obj:DisplayObjectContainer,mc:DisplayObject,str:String):void
  {
   this.obj = obj;
      this.mc = mc;
   this.str = str;
   
   init();
  }
  private function init():void
  {
   drawRect();
   configListener(); 
  }
     /**
     * ...
     * 配置鼠标事件
     */
  private function configListener():void
  {
      mc.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
      mc.addEventListener(MouseEvent.MOUSE_MOVE, mouseHandler);
   mc.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
   mc.addEventListener(Event.REMOVED_FROM_STAGE, removeListener);
  }
     /**
     * ...
     * 鼠标事件监听
     */
  private function mouseHandler(e:MouseEvent):void
  {
   switch(e.type) {
    case MouseEvent.MOUSE_OVER:
    _sprite.x = obj.mouseX - 5;
    _sprite.y = obj.mouseY - _sprite.height - 10; 
    _sprite.visible = true;
    break;
    case MouseEvent.MOUSE_MOVE:
    
    _sprite.x = obj.mouseX - 5;
    _sprite.y = obj.mouseY - _sprite.height - 10; 
    break;
    case MouseEvent.MOUSE_OUT:
    _sprite.visible = false;
    break;
   }
  }
  
     /**
     * ...
     * 显示提示框
     */
  private function drawRect():void
  {
   _sprite = new Sprite;
   obj.addChild(_sprite);
   
      _label = new TextField; 
   _label.autoSize = TextFieldAutoSize.LEFT;
   _label.defaultTextFormat = new TextFormat("宋体", 14, 0x000000);
   _label.selectable = false;
   _label.multiline = false;
   _label.wordWrap = false;
   _label.text = str;
   _sprite.addChild(_label);
   _label.x = 5;
   _label.y = 2;
   
   var w:Number = 10 + _label.width;
   var h:Number = 4 + _label.height;
   
   _sprite.graphics.clear();
   _sprite.graphics.beginFill(0x000000, 0.4);
   _sprite.graphics.drawRoundRect(3, 3, w, h, 5, 5);    
   _sprite.graphics.moveTo(6, 3 + h);
   _sprite.graphics.lineTo(12, 3 + h);
   _sprite.graphics.lineTo(9, 8 + h);
   _sprite.graphics.lineTo(6, 3 + h);
   _sprite.graphics.endFill();
   _sprite.graphics.beginFill(0xFFFFCC);
   _sprite.graphics.drawRoundRect(0, 0, w, h, 5, 5);
   _sprite.graphics.moveTo(3, h);
   _sprite.graphics.lineTo(9, h);
   _sprite.graphics.lineTo(6, 5 + h);
   _sprite.graphics.lineTo(3, h);
   _sprite.graphics.endFill();
   
   _sprite.visible = false;
  }
     /**
     * ...
     * 删除监听
     */
  private function removeListener(e:Event):void
  {
      mc.removeEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
      mc.removeEventListener(MouseEvent.MOUSE_MOVE, mouseHandler);
   mc.removeEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
   mc.removeEventListener(Event.REMOVED_FROM_STAGE, removeListener);
   
   _sprite.visible = false;
   
   _sprite.removeChild(_label);
   
   obj = null;
   mc = null;
   str = null;
  }
 }
 
}
分享到:
评论

相关推荐

    html页面绘制热区工具

    4. **高级功能**:除了基本的链接功能,`<area>`标签还可以通过`alt`属性提供替代文本,`target`属性指定打开链接的新窗口或标签页,`title`属性为用户提供提示信息,`onclick`属性则可以绑定JavaScript函数。...

    jQuery图片自定义热区

    10. **用户交互反馈**:为提高用户体验,可以在用户交互时提供视觉反馈,如改变热区的外观或显示提示信息。 综上所述,实现jQuery图片自定义热区涉及到多方面的技术,包括jQuery基础、事件处理、CSS样式、DOM操作、...

    手机热区示例

    这类热区主要针对用户可以进行文本输入的交互元素,例如输入框等。这类热区的设计应当使得用户能够轻松识别并进行操作。在设计时,需要确保输入框具有足够的大小,以便于用户点击;同时,还需要考虑到输入后的键盘弹...

    定义光标热区

    4. **视觉提示**:为了提高用户体验,有时会在热区上添加视觉提示,如改变鼠标指针的形状、显示工具提示或者热区自身有颜色变化,以让用户知道他们正在与可交互的元素互动。 在实例31“定义光标热区”中,可能包含...

    桌面背景多个鼠标热区事件

    6. **事件处理**:在实际应用中,当鼠标在热区内移动时,会触发一个事件,这个事件可以关联到一个回调函数,函数内部实现相应的功能,如打开程序、播放声音、显示提示信息等。 7. **多热区管理**:如果要在桌面背景...

    C#图像热区识别例子

    6. 可视化反馈:为了让用户知道他们正在与热区交互,我们还可以提供视觉反馈,如改变热区的边框颜色、显示提示信息等。 7. 性能优化:如果图像包含大量热区,性能可能成为问题。为了提高效率,可以使用空间划分数据...

    WPF基于Path的中国热区地图实现

    7. **实现交互效果**:为了模拟Flash热区地图的交互,可以添加鼠标悬停时的高亮、点击时的放大效果,以及信息提示框显示详细数据。这些可以通过自定义控件和动画实现。 8. **测试和调试**:在实现过程中,确保地图...

    flash游戏中的文本热区导航

    在AS3中,我们通常使用`TextField`类来创建和操作文本。`TextField`对象可以显示单行或多行文本,并支持基本的格式化和交互性。 2. **文本链接与热区**: 在网页设计中,超链接可以通过HTML的`<a>`标签实现,而在...

    MFC对话框中定义光标的热区

    首先,我们需要创建一个对话框类,并在该类中重写`OnSetCursor`成员函数。这个函数会在鼠标移动到对话框上的任何位置时被调用。在这里,我们可以检查鼠标是否位于我们感兴趣的控件之上,如果是,则更改光标并显示...

    通过event对象的fromElement属性解决热区设置主实体的一个bug

    在后台的热区管理系统中,当鼠标悬停在热区上时,通常会出现一个提示框,这个提示框内含有如“设为主实体”、“删除”和“合并”等操作链接,用户点击这些链接即可执行对应的功能。 问题在于,如果一个热区的提示框...

    在Authorware中灵活运用提示文本

    为了提高用户体验,开发者常常会在应用程序中加入弹出式工具提示,这类提示能即时为用户提供必要的帮助信息,从而提升应用的友好度。Authorware是一款强大的多媒体开发软件,能够轻松创建出视觉效果优秀的界面。本文...

    学习电脑信息巧用Authorware制作鼠标移入有文字提示的按钮

    2. 在背景图片上创建两个重叠的热区,一个用于显示提示信息和改变按钮状态(热区1),另一个用于执行实际功能,如调用导航图标和框架图标(热区2)。 3. 当鼠标移到热区1上时,热区1被激活,展示提示信息并改变按钮...

    Jquery编写的替换系统title提示

    最后在这个问题上要赞赏一下谷歌的chrome浏览器,当Title的系统提示框10秒结束后,如果鼠标不离开热区,大概间隔1秒的时间,还可以重新激活这个提示,其它浏览器如IE、Safari等经试验都没有这个功能。 此代码使用...

    阿信-热点视频分享.rar

    3. **动态效果**:使用JavaScript可以实现更丰富的用户体验,例如在鼠标悬停时显示提示信息,或者在点击后添加动画过渡效果。 4. **响应式设计**:为了确保在不同设备和屏幕尺寸上都能正确工作,需要考虑响应式设计...

    Android代码-图片不规则区域点击事件处理

    HotImg 图片不规则区域点击事件处理 ... 基本内容 1.对图片的部分区域进行可响应事件 ...3.对图片进行移动后....4.当图片移出边界区域后,可进行回弹.... mHotView.setOnClickListener(new HotClickView.OnClickListener() { ...

    微信打卡类小程序-热图打卡heatmap-wechat-applet-master.zip

    - 错误处理:捕获并处理可能出现的异常,提供友好的错误提示。 - 用户授权:获取用户位置权限,确保打卡功能的正常运行。 - 数据安全:对用户打卡信息进行加密存储,保护用户隐私。 总的来说,"微信打卡类小程序-...

    krpano(全景图制作工具)官方注册版V1.19.pr14

    此外,krpano还具备热区(hotspot)功能,允许用户添加点击事件,链接到其他全景图或显示更多信息。 压缩包中的“第一步:安装运行主程序”很显然是krpano的安装文件。用户应先双击这个exe文件,按照安装向导的指示...

    ImageMapControl_Source.rar

    这可以提供用户反馈,提示他们正在与哪个区域交互。 3. **事件处理**:每个热区可以关联一个或多个事件处理器,例如点击事件。当用户点击热区时,可以触发预定义的JavaScript函数或者服务器端的代码,执行如跳转...

    后台页面资源页面设计

    4. **提示信息**:错误提示应明确指出问题所在,成功提示应简洁明了,避免过多打扰用户。 四、交互设计 1. **状态反馈**:用户操作后应有即时反馈,如按钮点击后的加载动画,数据提交后的提示信息。 2. **错误...

Global site tag (gtag.js) - Google Analytics