【设为首页】
【收藏闪客居】
·
闪客居教程系列
·
FLASH业界新闻
·
FLASH CS3 专题
·
富媒体应用
首 页
AS编程
FLASH组件
游戏AS
FlashLite
FlashRIA
Flex
原文件
实用AS
FLASH酷站
论 坛
FlasnAs专题
当前位置:
主页
>
FLASH AS 编程
>
AS基础篇
>
AS 3.0
>文章内容
[AS3]提示信息类-ToolTip
来源:Kinglong's blog 作者:Kinglong 2008-03-08 【
大
中
小
】
ToolTip类
/**
* @author Kinglong
* @version 0.1
*/
package
project.happy9.browse {
import
flash.display.*;
import
flash.events.*;
import
flash.text.*;
import
flash.utils.*;
import
flash.filters.*;
public
class
ToolTip
extends
Sprite {
private
static
var _instance:ToolTip;
private
var _label:TextField;
public
function ToolTip(base:Sprite) {
_label =
new
TextField();
_label.autoSize = TextFieldAutoSize.LEFT;
_label.textColor =
0x333333
;
_label.text =
" "
;
_label.selectable =
false
;
_label.x =
3
;
_label.y =
2
;
addChild(_label);
filters = [getBitmapFilter()];
base.addChild(
this
);
_instance =
this
;
_hide();
}
public
static
function show(lbl:String):
void
{
if
(_instance ==
null
) {
return
;
}
_instance._show(lbl);
}
public
function _show(lbl:String):
void
{
visible =
true
;
_label.text = lbl;
updateShape();
}
public
static
function hide():
void
{
if
(_instance ==
null
) {
return
;
}
_instance._hide();
}
public
function _hide():
void
{
visible =
false
;
}
public
static
function move(x:Number, y:Number):
void
{
if
(_instance ==
null
) {
return
;
}
_instance._move(x, y);
}
public
function _move(x:Number, y:Number):
void
{
this
.x = (x+
this
.width>stage.stageWidth)?stage.stageWidth-
this
.width:x;
this
.y = y -
this
.height;
}
private
function changeHandler(event:Event):
void
{
updateShape();
}
private
function updateShape():
void
{
var w:Number = _label.textWidth +
8
;
var h:Number =
23
;
graphics.clear();
graphics.beginFill(
0x6F0A13
);
graphics.drawRoundRect(
0
,
0
, w, h,
7
,
7
);
graphics.endFill();
graphics.beginFill(
0xFFFFE1
);
graphics.drawRoundRect(
1
,
1
, w-
2
, h-
2
,
7
,
7
);
graphics.endFill();
}
private
function getBitmapFilter():BitmapFilter {
var color:Number =
0x000000
;
var alpha:Number =
0.3
;
var blurX:Number =
5
;
var blurY:Number =
5
;
var strength:Number =
2
;
var inner:Boolean =
false
;
var knockout:Boolean =
false
;
var quality:Number = BitmapFilterQuality.HIGH;
return
new
GlowFilter(color,
alpha,
blurX,
blurY,
strength,
quality,
inner,
knockout);
}
}
}
/** * @author Kinglong * @version 0.1 */ package project.happy9.browse { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.filters.*; public class ToolTip extends Sprite { private static var _instance:ToolTip; private var _label:TextField; public function ToolTip(base:Sprite) { _label = new TextField(); _label.autoSize = TextFieldAutoSize.LEFT; _label.textColor = 0x333333; _label.text = " "; _label.selectable = false; _label.x = 3; _label.y = 2; addChild(_label); filters = [getBitmapFilter()]; base.addChild(this); _instance = this; _hide(); } public static function show(lbl:String):void { if (_instance == null) { return; } _instance._show(lbl); } public function _show(lbl:String):void { visible = true; _label.text = lbl; updateShape(); } public static function hide():void { if (_instance == null) { return; } _instance._hide(); } public function _hide():void { visible = false; } public static function move(x:Number, y:Number):void { if (_instance == null) { return; } _instance._move(x, y); } public function _move(x:Number, y:Number):void { this.x = (x+this.width>stage.stageWidth)?stage.stageWidth-this.width:x; this.y = y - this.height; } private function changeHandler(event:Event):void { updateShape(); } private function updateShape():void { var w:Number = _label.textWidth + 8; var h:Number = 23; graphics.clear(); graphics.beginFill(0x6F0A13); graphics.drawRoundRect(0, 0, w, h, 7, 7); graphics.endFill(); graphics.beginFill(0xFFFFE1); graphics.drawRoundRect(1, 1, w-2, h-2, 7, 7); graphics.endFill(); } private function getBitmapFilter():BitmapFilter { var color:Number = 0x000000; var alpha:Number = 0.3; var blurX:Number = 5; var blurY:Number = 5; var strength:Number = 2; var inner:Boolean = false; var knockout:Boolean = false; var quality:Number = BitmapFilterQuality.HIGH; return new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); } } }
调用实例
/**
* @author Kinglong
* @version 0.1
*/
package
project.test {
import
flash.display.*;
import
flash.events.*;
import
fl.controls.*;
import
project.happy9.browse.ToolTip;
public
class
TestToolTip
extends
Sprite{
private
var _names:Array = [
"我是按钮A"
,
"我是按钮B"
,
"我是按钮C"
,
"我是按钮D"
];
public
function TestToolTip() {
for
(var i:uint =
0
; i < _names.length; i++ ) {
var button:Button =
new
Button();
button.label =
"button_"
+ i;
button.move(
2
,
30
*i+
10
);
button.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
button.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
button.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
addChild(button);
}
new
ToolTip(
this
);
}
private
function overHandler(event:MouseEvent):
void
{
var arr:Array = event.target.label.split(
"_"
);
ToolTip.show(_names[
int
(arr[
1
])]);
ToolTip.move(event.stageX,event.stageY);
}
private
function outHandler(event:MouseEvent):
void
{
ToolTip.hide();
}
private
function moveHandler(event:MouseEvent):
void
{
ToolTip.move(event.stageX,event.stageY);
}
}
}
/** * @author Kinglong * @version 0.1 */ package project.test { import flash.display.*; import flash.events.*; import fl.controls.*; import project.happy9.browse.ToolTip; public class TestToolTip extends Sprite{ private var _names:Array = ["我是按钮A","我是按钮B","我是按钮C","我是按钮D"]; public function TestToolTip() { for (var i:uint = 0; i < _names.length; i++ ) { var button:Button = new Button(); button.label = "button_" + i; button.move(2,30*i+10); button.addEventListener(MouseEvent.MOUSE_OVER, overHandler); button.addEventListener(MouseEvent.MOUSE_OUT, outHandler); button.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler); addChild(button); } new ToolTip(this); } private function overHandler(event:MouseEvent):void{ var arr:Array = event.target.label.split("_"); ToolTip.show(_names[int(arr[1])]); ToolTip.move(event.stageX,event.stageY); } private function outHandler(event:MouseEvent):void { ToolTip.hide(); } private function moveHandler(event:MouseEvent):void { ToolTip.move(event.stageX,event.stageY); } } }
演示效果
相关文件打包
上一篇:
AS3 提示类
下一篇:
1KB的AS3程序能做出什么效果?
最新评论
用户名:
(
新注册
) 密码:
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
·
一种暴强的单例写法(as3.0)
·
3.0自带函数2/8/10/16/32进制互换
·
AS3.0 性能测试相关资料
·
AS3.0 对于粘贴板的控制方法
·
as3中set/get代码自动生成器
·
AS3 API汇总(基本都有原代码下载)
·
使用addFrameScript动态在时间轴上
·
学习分享的ActionScript3.0幻灯片
·
xml中运用后代存取运算符(..)问题
·
AS3:width与content.width的区别
推荐内容
·
AS3中文版帮助_chm
·
as3编译器错误中文说明
·
Flash CS3 AS3 doubleClick测试
辅助软件
·
Sothink FLV Converter 1.0 - FLV 视频转换
·
Flash实时调试器分享下载 — AGE Live Debu
·
支持Actionscript 3.0 的UML工具
·
正则表达测试工具(RegexTestTool)
·
AS3.0(ActionScript3.0)的开发工具
·
ThunderBoltAS3-Flex/Flash调试器
·
分享两个as3代码混淆器
·
AIR开发的as3 swf加密工具(测试还不错)
·
SWF Encrypt 5.0 Beta下载试用
·
生成flash的set get代码的小工具
·
实用的flex 矢量转换程序
·
实用的flex 矢量转换程序
Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询:
admin#flashas.net (#为@)
联系QQ:
:
40777822
浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)