用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as程序>列表

如何给载入flash中的图片加一个边框

[来源:闪吧 | 作者:ywxgood  | 时间:2008-06-23 | 点击:  | 收藏本文  【 】]

思路:as2中载入图片可以用 MovieClipLoader类,as3中载入图片可以用Loader类;边框的实现可以用Drawing API来实现如lineStyle,lineTo等等...

先看As2的做法:(老外的代码)

//创建一个空剪辑,以便载入图片1111.jpg,1111.jpg是跟源文件同一目录下的。
this.createEmptyMovieClip("image_mc", 1);
//创建一个监听器监听MovieClipLoader类的onLoadInit事件
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
 //空剪辑位置舞台居中
 target_mc._x = Stage.width/2-target_mc._width/2;
 target_mc._y = Stage.height/2-target_mc._height/2;
 var w:Number = target_mc._width;
 var h:Number = target_mc._height;
 //画边框
 target_mc.lineStyle(10, 0x00FFFF, 100, true, "normal", "square", "miter", 10);
 target_mc.moveTo(0, 0);
 target_mc.lineTo(w, 0);
 target_mc.lineTo(w, h);
 target_mc.lineTo(0, h);
 target_mc.lineTo(0, 0);
 //旋转角度
 //target_mc._rotation = -2;
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("1111.jpg", image_mc);

As3做法:(参考了闪吧论坛:http://space.flash8.net/bbs/thread-349125-1-1.html)在As3中,如果把边框看成是一个矩形,那么还可利用drawRect()来画边框:

package {
 import flash.display.Sprite;
 import flash.display.Loader;
 import flash.net.URLRequest;
 import flash.display.LoaderInfo;
 import flash.events.Event;
 /**
 * ...
 * @author $(DefaultUser)
 */
 public class LoadIMG extends Sprite
 {
  private var load:Loader;
  private var sprite:Sprite;
  
  public function LoadIMG()
  {
   init();
  }
  
  private function init():void
  {
   load = new Loader();
   //创建一个容器以便保存加载进来的图片
   sprite = new Sprite();
   addChild(sprite);
   load.load(new URLRequest("1111.jpg"));
   load.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
  }
  
  private function onLoadComplete(evt:Event):void
  {
   //通过load的content属性来访问被加载的图片,然后将图片加入到容器的显示列表
   sprite.addChild(load.content);
   
   var w:Number = sprite.width;
   var h:Number = sprite.height;
   
   ///*
   //直接画边框
   sprite.graphics.lineStyle(10, 0xff0000, 1,true, "normal", "square", "miter", 10);
   sprite.graphics.moveTo(0, 0);
   sprite.graphics.lineTo(w, 0);
   sprite.graphics.lineTo(w, h);
   sprite.graphics.lineTo(0, h);
   sprite.graphics.lineTo(0, 0);
   //*/
   /*
   //画矩形
   sprite.graphics.lineStyle(10, 0xff0000, 1);
   sprite.graphics.drawRect(0, 0, w, h);
   */
   //设置容器位置舞台居中
   sprite.x = stage.stageWidth / 2-sprite.width/2;
   sprite.y = stage.stageHeight / 2-sprite.height/2;
  }
 }
 
}
总 结:这里涉及的问题是当一个对象被载入后该如何去控制它?在As2中不考虑对象的显示问题,只需把对象载入一个MC,然后控制这个MC就可以了;As3中 先得考虑显示的问题,用Loader类载入对象(设Loader类的实例是loader),直接可以将Loader类加入当前类的显示列表显示,或者将 Loader类加入其他容器的显示列表,比如有个容器:sprite:Sprite,你可以这样:sprite.addChild(loader),也可 以这样sprite.addChild(loader.content);这两者都可以显示出对象,而后者才是对显示对象的引用。
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:xml中运用后代存取运算符(..)的问题
下一篇:物体左右跳跃的类as2.0
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·物体左右跳跃的类as2.0
·如何给载入flash中的图片加一个
·xml中运用后代存取运算符(..)的
·flash中Tween类的缓动动画效果的
·flash动态文本框旋转后消失的解
·浅析xml+Moviecliploader动态载
·如何用AS获取计算机的系统信息
·利用BlurFilter类构造模糊效果
·flash中ExternalInterface不会造
·flash中Object.watch的“另类”
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·flash春雷闪电效果
·Flex 3 AdvancedDataGrid的使用(第二
·Flash制作大雪纷飞效果动画
·即拷即用的loading代码
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号