用户ID :  密码 : 

登 录

注 册

时代财富科技公司 FortuneAge Technology Co., Ltd. 校园博客客服网站(新)

我的资料

Jorman

博客信息

积分:203
等级:3级 lv 3
日志总数:47
发表评论总数:3 (查看)
获得评论总数:28
发表留言总数:0
浏览总数:28668

最新公告

        现通缉FLASH若干,若有寻获精美FLASH网站及好玩的FLASH游戏者,请告知,重筹!


                    特此公告
                    以儆效尤

我的日历

最新评论

RE:陈炯组的表演节目
后半part能带动现场气氛,后劲十足,正!!有睇头! RE:与雪佛兰一起变形未来
年会下午的视频怎么没有啊??? RE:与雪佛兰一起变形未来
极度恶劣...开一次你的博客,死一次IE...找一篇干净的... RE:节目排练花絮
花絮也很精彩呀呀 RE:小强组的表演节目
肥仔厉害,小强厉害!

最新留言

[全部留言] [发表留言]
http://www.fortuneage.com/ama...
这个模板总是导致我点错地方,晕!
肥仔的博客看了很有感觉.模版很有个性,内容也不错.继续努力!
偶来踩门,灌水~~~
偶来踩门,灌水~~~

RSS

首页 -> AS笔记->打造 FLASH的TIPS功能
打造 FLASH的TIPS功能

首先,我们先来看看实际效果。

http://f1.anyp.cn/UserData/Data1/yaksha.anyp.cn/Articles/Images/070121094252862.swf

怎么样,也想在自己的FLASH里加上这一效果吧。好!现在,我们一步步来实现。

我们先新建一个 AS 文件,ToolTips.as。内容如下:

class ToolTip
{
 private var target:MovieClip;
 private var tipIID:Number;
 private var label:String;

 public static var duration:Number;
 public static var activeTip:ToolTip;

 private var __xoffset:Number;
 private var __yoffset:Number;
 private var __backgroundColor:Number;
 private var __borderColor:Number;
 private var __textColor:Number;

 public function ToolTip(t:MovieClip, l:String)
 {
  target = t;
  if(target.useHandCursor) target.useHandCursor = false;
  label = l;
  duration = 2000;

  // default offsets (based on the reg point of the target mc)
  __xoffset = 15;
  __yoffset = -10;

  // default colors
  __backgroundColor = 0xFFFFCC;
  __borderColor = 0x000000;
  __textColor = 0x000000;

  var hook:ToolTip = this;
  target.onRollOver = function(){ hook.show(); }
 }

 private function show():Void
 {
  // check to see if we are the same tip, return if so
  if(label == ToolTip.activeTip.label) return;
  
  var hook:ToolTip = this;

  if(ToolTip.activeTip != null) ToolTip.activeTip.hide();

  target.createTextField("toolTip", 500, __xoffset, __yoffset, 150, 22);

  var tipTextFormat = new TextFormat();
  with(tipTextFormat)
  {
   font = "Tahoma";
   align = "left";
   size = 11;
   leftMargin = 4;
  }

  var tipFieldProps =
  {
   autoSize:"left", type:"dynamic", embedFonts:false,
   selectable:false, background:true, border:true,
   backgroundColor:__backgroundColor, borderColor:__borderColor,
   textColor:__textColor
  }

  // set the properties
  for(var n:String in tipFieldProps) { target.toolTip[n] = tipFieldProps[n]; }

  // extra spacing because of leftMargin
  target.toolTip.text = label add "  ";
  target.toolTip.setTextFormat(tipTextFormat);

  ToolTip.activeTip = this;

  clearInterval(tipIID);
  tipIID = setInterval(this, "hide", duration);
 }

 private function hide():Void
 {
  clearInterval(tipIID);
  target.toolTip.removeTextField();
  ToolTip.activeTip = null;
 }

 // -------------
 // getter/setter
 // -------------

 public function set backgroundColor(n:Number):Void { __backgroundColor = n; }
 public function get backgroundColor():Number { return __backgroundColor; }

 public function set borderColor(n:Number):Void { __borderColor = n; }
 public function get borderColor():Number { return __borderColor; }

 public function set textColor(n:Number):Void { __textColor = n; }
 public function get textColor():Number { return __textColor; }

 public function set xoffset(n:Number):Void { __xoffset = n; }
 public function get xoffset():Number { return __xoffset; }

 public function set yoffset(n:Number):Void { __yoffset = n; }
 public function get yoffset():Number { return __yoffset; }

}

保存一下文件。这个就是实现 TIPS 功能的类文件。接着,我们在与 ToolTips.as 同一目录下新建一个 FLA 文件 ToolTips_01.fla 。文件里,包含两个层, 分别是 actionmain 。顾名思义,action 是用来写代码的。main 我们是用来放置图形或者其他可视元素。如下图

然后,我们插入一个 MovieClip 画一个矩形,打开 库面板 Library 命名为 box 。

回到主场景,点击 action 层,按F9打开动作面板,编写以下代码。

//主程序函数
createToolTips = function():Void
{
 var labels:Array = new Array("ABC\nCode: 00-0000", "DEF\nCode: 00-0001", "GHI\nCode: 00-0002", "JKL\nCode: 00-0003", "MNO\nCode: 00-0004");
 //提示内容数组


 for(var i:Number = 0; i < 5; i++)
 {
  //循环往场景中添加名为 box 的 MovieClip  
  var icon:MovieClip = this.attachMovie("box", "box_" add String(i), i, {_x:20, _y:(40 * i) + 20});
  var myToolTip:ToolTip = new ToolTip(icon, labels[i]);
//引用ToolTip类
  myToolTip.backgroundColor = 0xFFDBC8;
 }
};

createToolTips();//调用主程序

 

保存文件,按CTRL + ENTER测试效果。

网友评论

共 0 页,0 条记录  

用户名:
密码:
您的评论:



发 表 评 论