以前一直用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;
}
}
}
分享到:
相关推荐
4. **高级功能**:除了基本的链接功能,`<area>`标签还可以通过`alt`属性提供替代文本,`target`属性指定打开链接的新窗口或标签页,`title`属性为用户提供提示信息,`onclick`属性则可以绑定JavaScript函数。...
10. **用户交互反馈**:为提高用户体验,可以在用户交互时提供视觉反馈,如改变热区的外观或显示提示信息。 综上所述,实现jQuery图片自定义热区涉及到多方面的技术,包括jQuery基础、事件处理、CSS样式、DOM操作、...
这类热区主要针对用户可以进行文本输入的交互元素,例如输入框等。这类热区的设计应当使得用户能够轻松识别并进行操作。在设计时,需要确保输入框具有足够的大小,以便于用户点击;同时,还需要考虑到输入后的键盘弹...
4. **视觉提示**:为了提高用户体验,有时会在热区上添加视觉提示,如改变鼠标指针的形状、显示工具提示或者热区自身有颜色变化,以让用户知道他们正在与可交互的元素互动。 在实例31“定义光标热区”中,可能包含...
6. **事件处理**:在实际应用中,当鼠标在热区内移动时,会触发一个事件,这个事件可以关联到一个回调函数,函数内部实现相应的功能,如打开程序、播放声音、显示提示信息等。 7. **多热区管理**:如果要在桌面背景...
6. 可视化反馈:为了让用户知道他们正在与热区交互,我们还可以提供视觉反馈,如改变热区的边框颜色、显示提示信息等。 7. 性能优化:如果图像包含大量热区,性能可能成为问题。为了提高效率,可以使用空间划分数据...
7. **实现交互效果**:为了模拟Flash热区地图的交互,可以添加鼠标悬停时的高亮、点击时的放大效果,以及信息提示框显示详细数据。这些可以通过自定义控件和动画实现。 8. **测试和调试**:在实现过程中,确保地图...
在AS3中,我们通常使用`TextField`类来创建和操作文本。`TextField`对象可以显示单行或多行文本,并支持基本的格式化和交互性。 2. **文本链接与热区**: 在网页设计中,超链接可以通过HTML的`<a>`标签实现,而在...
首先,我们需要创建一个对话框类,并在该类中重写`OnSetCursor`成员函数。这个函数会在鼠标移动到对话框上的任何位置时被调用。在这里,我们可以检查鼠标是否位于我们感兴趣的控件之上,如果是,则更改光标并显示...
在后台的热区管理系统中,当鼠标悬停在热区上时,通常会出现一个提示框,这个提示框内含有如“设为主实体”、“删除”和“合并”等操作链接,用户点击这些链接即可执行对应的功能。 问题在于,如果一个热区的提示框...
为了提高用户体验,开发者常常会在应用程序中加入弹出式工具提示,这类提示能即时为用户提供必要的帮助信息,从而提升应用的友好度。Authorware是一款强大的多媒体开发软件,能够轻松创建出视觉效果优秀的界面。本文...
2. 在背景图片上创建两个重叠的热区,一个用于显示提示信息和改变按钮状态(热区1),另一个用于执行实际功能,如调用导航图标和框架图标(热区2)。 3. 当鼠标移到热区1上时,热区1被激活,展示提示信息并改变按钮...
最后在这个问题上要赞赏一下谷歌的chrome浏览器,当Title的系统提示框10秒结束后,如果鼠标不离开热区,大概间隔1秒的时间,还可以重新激活这个提示,其它浏览器如IE、Safari等经试验都没有这个功能。 此代码使用...
3. **动态效果**:使用JavaScript可以实现更丰富的用户体验,例如在鼠标悬停时显示提示信息,或者在点击后添加动画过渡效果。 4. **响应式设计**:为了确保在不同设备和屏幕尺寸上都能正确工作,需要考虑响应式设计...
HotImg 图片不规则区域点击事件处理 ... 基本内容 1.对图片的部分区域进行可响应事件 ...3.对图片进行移动后....4.当图片移出边界区域后,可进行回弹.... mHotView.setOnClickListener(new HotClickView.OnClickListener() { ...
- 错误处理:捕获并处理可能出现的异常,提供友好的错误提示。 - 用户授权:获取用户位置权限,确保打卡功能的正常运行。 - 数据安全:对用户打卡信息进行加密存储,保护用户隐私。 总的来说,"微信打卡类小程序-...
此外,krpano还具备热区(hotspot)功能,允许用户添加点击事件,链接到其他全景图或显示更多信息。 压缩包中的“第一步:安装运行主程序”很显然是krpano的安装文件。用户应先双击这个exe文件,按照安装向导的指示...
这可以提供用户反馈,提示他们正在与哪个区域交互。 3. **事件处理**:每个热区可以关联一个或多个事件处理器,例如点击事件。当用户点击热区时,可以触发预定义的JavaScript函数或者服务器端的代码,执行如跳转...
4. **提示信息**:错误提示应明确指出问题所在,成功提示应简洁明了,避免过多打扰用户。 四、交互设计 1. **状态反馈**:用户操作后应有即时反馈,如按钮点击后的加载动画,数据提交后的提示信息。 2. **错误...