[ActionScript 3.0] 利用InteractivePNG.as类精确选择识别png图片有像素的区域

用法:如果是把png直接导入flash转换成影片剪辑,只需在影片剪辑属性中勾选为ActionScript导出(x),并把基类里的flash.display.MovieClip替换成InteractivePNG即可;如果是外部导入png,只需将存放png的类继承InteractivePNG即可;

 1 package
 2 {
 3     import flash.display.Loader;
 4     import flash.display.MovieClip;
 5     import flash.display.Shape;
 6     import flash.display.Sprite;
 7     import flash.events.Event;
 8     import flash.events.MouseEvent;
 9     import flash.filters.DropShadowFilter;
10     import flash.net.URLRequest;
11
12     /**
13       * ...
14       * @author Frost.Yen
15       */
16     public class TestPNG extends Sprite
17     {
18         private var pngSp:PNGContainer;
19         private var ldr:Loader = new Loader  ;
20         private var lineSp:Sprite;
21         private var frame:Shape = new Shape  ;
22         public function TestPNG()
23         {
24
25             lineSp = new Sprite  ;
26             pngSp = new PNGContainer  ;
27             pngSp.x = pngSp.y = 200;
28             this.addChild(lineSp);
29             this.addChild(pngSp);
30             pngSp.addEventListener(MouseEvent.MOUSE_OVER,onPNGOver);
31             pngSp.addEventListener(MouseEvent.MOUSE_OUT,onPNGOut);
32         }
33
34         private function onPNGOver(e:MouseEvent):void
35         {
36             drawLine(pngSp);
37         }
38
39         private function onPNGOut(e:MouseEvent):void
40         {
41             this.removeChild(frame);
42         }
43
44         private function drawLine(_mc:MovieClip)
45         {
46             frame.graphics.clear();
47             frame.graphics.moveTo(_mc.x,_mc.y);
48             frame.graphics.lineStyle(1,0xff00ff);
49             frame.graphics.lineTo(_mc.x + _mc.width,_mc.y);
50             frame.graphics.moveTo(_mc.x + _mc.width,_mc.y);
51             frame.graphics.lineTo(_mc.x + _mc.width,_mc.y + _mc.height);
52             frame.graphics.moveTo(_mc.x + _mc.width,_mc.y + _mc.height);
53             frame.graphics.lineTo(_mc.x,_mc.y + _mc.height);
54             frame.graphics.moveTo(_mc.x,_mc.y + _mc.height);
55             frame.graphics.lineTo(_mc.x,_mc.y);
56             addChild(frame);
57         }
58     }
59 }
 1 package
 2 {
 3     import flash.display.Loader;
 4     import flash.events.Event;
 5     import flash.net.URLRequest;
 6
 7     /**
 8       * ...
 9       * @author Frost.Yen
10       */
11     public class PNGContainer extends InteractivePNG
12     {
13         private var ldr:Loader = new Loader  ;
14         public function PNGContainer()
15         {
16             ldr.load(new URLRequest("128.png"));
17             ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onPNGLoaded);
18         }
19
20         private function onPNGLoaded(e:Event):void
21         {
22             this.addChild(e.target.content);
23         }
24     }
25
26 }

InteractivePNG.as类可以到http://yan_frost.download.csdn.net/下载

时间: 2024-11-07 19:05:57

[ActionScript 3.0] 利用InteractivePNG.as类精确选择识别png图片有像素的区域的相关文章

精确选择识别png图片有像素的区域

/** * * *---------------------------------------* * | ***精确选择识别png图片有像素的区域*** | * *---------------------------------------* ** * 编辑修改收录:fengzi(疯子.wu341.wgq341) * * 不会写代码,我是代码搬运工. * * 联系方式:QQ(493712833). * * 随 笔: https://www.cnblogs.com/fengziwu/ * *

[ActionScript 3.0] 利用ColorTransform实现对象(图片)的曝光过渡效果

原图效果 过渡效果 这个效果可以用帧动画实现较为简单,只需要调节这个影片剪辑的色彩效果样式里面的高级选项的三个通道值,以下用代码简单测试,可作为文档类: 1 package 2 { 3 import com.tweener.transitions.Tweener; 4 import flash.display.Loader; 5 import flash.display.SimpleButton; 6 import flash.display.Sprite; 7 import flash.eve

[ActionScript 3.0] 使用Embed在类中嵌入字体

1 package 2 { 3 import flash.display.Sprite; 4 import flash.text.Font; 5 import flash.text.TextField; 6 import flash.text.TextFormat; 7 8 /** 9 * @author Frost.Yen 10 * @E-mail [email protected] 11 * @create 2015-6-26 下午3:23:38 12 * 13 */ 14 [SWF(wid

[ActionScript 3.0] 正则表达式

正则表达式: 正则表达式最早是由数学家Stephen Kleene在对自然语言的递增研究成果的基础上,于1956提出来的.具有完整语法的正则表达式,主要使用在字符串的格式的匹配方面上,后来也逐渐应用到信息技术领域.不同的编程语言对于正则表达式有细微的不同,ActionScript 3.0是按照ECMAScript第3版语言规范(ECMA-262)中的定义实现正则表达式. 熟悉windows操作系统读者,应该知道windows中是怎样查找文件的.不错,使用通配符“*”用来匹配任意字符,“?”用来匹

ActionScript 3.0日期与时间管理(Date类)

/*Flash中,Date类管理着日期和时间信息.要获取   当前日期,可以新建一个Date对象   */var now:Date =new Date();trace (now);     /*输出当前时间和日期,格式如:                  Sun Jul 27 19:45:57 GMT+0800 2014  */ /*以上代码中,Date对象中包括了当前的秒.分.小时.  星期数.日.月.年.时区等信息...如果仅需要返  回星期值和日期值,而不返回时间或时区,可以使用Date

利用java日期类生成数据仓库维度表

利用java日期类生成数据仓库维度表 Date类: 最基础的日期时间类,返回一个相对日期的毫秒数.精确到毫秒,但不支持日期的国际化和分时区显示.Date 类从Java 开发包(JDK)1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了,这种改进旨在更好的处理日期数据的国际化格式. Calender类: 相对于Date更加强大的时间类,是抽象类,提供了常规的日期修改功能和国际化

[ActionScript 3.0] as3处理xml的功能和遍历节点

as3比as2处理xml的功能增强了N倍,获取或遍历节点非常之方便,类似于json对像的处理方式. XML 的一个强大功能是它能够通过文本字符的线性字符串提供复杂的嵌套数据.将数据加载到 XML 对象时,ActionScript 会分析数据并将其分层结构加载到内存(如果 XML 数据格式有误,它会发送运行时错误). 利用 XML 和 XMLList 对象的运算符和方法可以轻松遍历 XML 数据的结构. 1.读取外部 XML 文档 可以使用 URLLoader 类从 URL 加载 XML 数据.若

虚基类练习:动物(利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal)。)

Description 长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中.利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal).其中两栖动物保留了陆生动物和水生动物的属性. Input 两栖动物的体长,体重,性别,游泳速度,奔跑速度(running_speed) Output 初始化的两栖动物的体长,体重,性别,游泳速度

Java反射(二)利用反射分析类的能力

利用反射分析类能力的类的源码如下(来源于<Java核心技术>卷一): package testreflection; import java.util.*; import java.lang.reflect.*; /** * 这个类利用反射打印出一个类的所有特征 * * @version 1.1 2004-02-21 * @author Cay Horstmann */ public class ReflectionTest { public static void main(String[]