- 浏览: 1430154 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
涂抹原理
橡皮擦原理
import flash.geom.Point;
//产生多个图形
function crtShapes(_num:Number) {
for (var i:Number = 0; i<_num; i++) {
var line:MovieClip = _root.createEmptyMovieClip("line"+i, _root.getNextHighestDepth());
line.color_num = random(0xFFFFFF);
line.f_color_num = random(0xffffff);
line._rotation = random(360);
/**/
line.onEnterFrame = function() {
this._rotation++;
};
line._x = random(Stage.width);
line._y = random(Stage.height);
line.points = new Array();
crtDots(line, 10);
}
}
//产生每个图形的绘图坐标点序列
function crtDots(holder:MovieClip, _num:Number) {
var r:Number = 20+random(10);
var da:Number = Math.PI*2/(_num-1);
holder.points.push(new Point(r*Math.sin(da), r*Math.cos(da)));
for (var i:Number = 1; i<_num; i++) {
var temp_r:Number = r+random(5);
var ps:Point = new Point(temp_r*Math.sin(da*i), temp_r*Math.cos(da*i));
holder.points.push(ps);
}
drawShape(holder);
}
//绘制图形
function drawShape(_mc:MovieClip) {
_mc.clear();
_mc.lineStyle(1, _mc.color_num, 100);
_mc.beginFill(_mc.f_color_num, 50);
_mc.moveTo(_mc.points[0].x, _mc.points[0].y);
for (var i:Number = 1; i<_mc.points.length; i++) {
_mc.lineTo(_mc.points[i].x, _mc.points[i].y);
}
}
//利用mc1去涂抹mc2
function leave(mc1:MovieClip, mc2:MovieClip) {
if (mc1.hitTest(mc2)) {
//生成全局坐标序列pss
var c_pos:Point = mc1.pos.clone();
var pss:Array = new Array();
for (var i = 0; i<mc2.points.length; i++) {
var obj:Point = mc2.points[i].clone();
mc2.localToGlobal(obj);
pss.push(new Point(obj.x, obj.y));
}
//检查距离,同时生成被修改id序列
var change_id:Array = new Array();
for (var i = 0; i<pss.length; i++) {
var dis:Number = Point.distance(c_pos, pss[i]);
if (dis == 0) {
dis = .1;
}
if (dis<mc1.r) {
change_id.push(i);
if (mc1.type == "out") {
var rx:Number = (pss[i].x-c_pos.x)/dis;
var ry:Number = (pss[i].y-c_pos.y)/dis;
pss[i].x += (mc1.r-dis)*rx*mc1.a/5;
pss[i].y += (mc1.r-dis)*ry*mc1.a/5;
} else if (mc1.type == "in") {
var rx:Number = (pss[i].x-c_pos.x)/dis;
var ry:Number = (pss[i].y-c_pos.y)/dis;
pss[i].x -= (mc1.r-dis)*rx*mc1.a/5;
pss[i].y -= (mc1.r-dis)*ry*mc1.a/5;
} else if (mc1.type == "rotate") {
var angle:Number = Math.atan2(pss[i].x-c_pos.x, pss[i].y-c_pos.y);
var d_angle:Number = (mc1.r/dis-1)*(1-mc1.a)*.05+.02*mc1.a;
pss[i].x = c_pos.x+dis*Math.sin(angle+d_angle);
pss[i].y = c_pos.y+dis*Math.cos(angle+d_angle);
} else if (mc1.type == "rotate2") {
var angle:Number = Math.atan2(pss[i].x-c_pos.x, pss[i].y-c_pos.y);
var d_angle:Number = -(mc1.r/dis-1)*(1-mc1.a)*.05-.02*mc1.a;
pss[i].x = c_pos.x+dis*Math.sin(angle+d_angle);
pss[i].y = c_pos.y+dis*Math.cos(angle+d_angle);
}
//update temp_mc
temp_mc.moveTo(pss[i].x, pss[i].y);
temp_mc.lineTo(pss[i].x, pss[i].y+.5);
}
}
//将被改变的关键点坐标装化到mc2的local坐标,并回填到mc2的points中去
if (change_id.length) {
for (var i = 0; i<change_id.length; i++) {
var obj:Point = pss[change_id[i]].clone();
mc2.globalToLocal(obj);
mc2.points[change_id[i]] = new Point(obj.x, obj.y);
}
drawShape(mc2);
}
}
}
//涂抹初始化
function initDoub(_type:String, r:Number, a:Number) {
var doub:MovieClip = _root.createEmptyMovieClip("doub", _root.getNextHighestDepth());
doub.type = _type;
doub.r = r;
doub.a = a;
doub.lineStyle(r*2, 0, 20);
doub.lineTo(.5, 0);
doub.startDrag(true);
doub.onPress = function() {
mouse_down = true;
};
doub.onRelease = function() {
mouse_down = false;
temp_mc.clear();
};
doub.onEnterFrame = function() {
if (mouse_down) {
this.pos = new Point(this._x, this._y);
temp_mc.clear();
temp_mc.lineStyle(2, 0xFF0000);
for (i in _root) {
if (typeof (_root[i]) == "movieclip" && _root[i] != doub) {
leave(this, _root[i]);
}
}
}
};
}
//生成待变形形状
crtShapes(50);
//初始化涂抹工具 类型:_type:in/out/rotate/rotate2 半径:r 强度:a
initDoub("rotate", 100, .5);
//临时图层,显示被涂抹的关键点
_root.createEmptyMovieClip("temp_mc", _root.getNextHighestDepth());
发表评论
-
haXe是什么?
2016-01-04 10:50 1029haXe是什么? haXe是一种编程语言,官方网站在 ... -
用EA类图生成AS3代码
2008-10-15 16:18 2696EA(Enterprise Architect)是支持多种流 ... -
actionScript 3.0 图片裁剪及旋转
2008-10-10 12:54 5907package com.wdxc { /** ... -
Flash(AS3)读取Excel文件
2008-10-09 13:29 5132var excelXml:XML; var loader=ne ... -
AS3 Loading的制作方法
2008-10-09 13:28 6047AS2的时候做LOADING有很多种方法,做起来也得心应手可是 ... -
让"Flash" 写文件(AS3)
2008-09-11 16:23 1773目前,出于安全考虑Flash不支持写文件的操作,在AS3的A ... -
AS3 中的 拖动 及 碰撞 检测
2008-09-11 16:11 2918没有press和release事件 hitTest()被分尸 ... -
As和js通信问题完全解析(解决addcallback失效的问题)
2008-09-11 16:10 3625as和js通信最早用的是fscommand,这个我就不说了,老 ... -
Flash CS3制作Fla形式的组件
2008-06-16 14:45 1355本文为大家介绍如何制作Flash CS3中的[*.fla]形 ... -
AS3图像处理之剪裁、动态选取
2008-06-15 23:25 2228和师傅写C#写的思维混乱,方法变量几乎第一反应就是大写,习惯都 ... -
从界面入手 划分类
2008-06-15 19:25 1256如何将一个项目细化成各个类呢? 1 从一个项目的界面入手,按照 ... -
AS3-DisplayEffect组件
2008-06-14 20:40 2044[AS3]DisplayEffect组件【组件版本】:0.5【 ... -
KTooltip 工具提示组件
2008-06-14 20:38 1012发布一个小工具KTooltip 。这是0.9beta版,出发日 ... -
AS3.0写的一个滚动条【缓动效果】
2008-06-13 16:10 6377package { import flash.d ... -
一个简单的文本滚动条类 as3
2008-06-13 16:04 4364最近一直做会议与AS3有关项目今天花了点时间写了一个可以选择套 ... -
自定义滚动条类
2008-06-13 16:01 2066在平常的开发中,经常需要用到滚动条,今天将滚动条类整理了下,有 ... -
AS3加载机制
2008-06-13 15:03 2186摸了好一阵子,才弄明白AS3.0的加载机制.还是坚持自己的原则 ... -
写了一个Flash的Transition
2008-06-11 10:36 1723写了一个Flash的Transition package { ... -
JavaScript与ActionScript函数相互调用
2008-06-06 15:07 22571、在JavaScript中调用Flex( ... -
传参之事件代理
2008-06-05 10:23 1086有时候我们在调用事件侦听器的时候,需要给它传进相应的参数,这个 ...
相关推荐
网页设计项目实例-杭州旅游网页(源码)网页设计项目实例-杭州旅游网页(源码)网页设计项目实例-杭州旅游网页(源码)网页设计项目实例-杭州旅游网页(源码)网页设计项目实例-杭州旅游网页(源码)网页设计项目...
路由器配置实例--100例路由器配置实例--100例路由器配置实例--100例路由器配置实例--100例
Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python...
C#打印操作实例--设置横向或纵向打印实例--完整版) )
WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--
Core Python Programming----Source Code python 核心编程 实例代码
Java 实例 - classpath使用实例-classpath使用教程-手把手教程.zip
DirectX实例-MDX kick start source
C#打印操作实例--设置横向或纵向打印实例-299.rar
Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码...
cisco路由器配置实例--100例cisco路由器配置实例--100例cisco路由器配置实例--100例
Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python...
Python 实例 - 画画 Python源码Python 实例 - 画画 Python源码Python 实例 - 画画 Python源码Python 实例 - 画画 Python源码Python 实例 - 画画 Python源码Python 实例 - 画画 Python源码Python 实例 - 画画 Python...
C++项目实例-----仓库管理系统 C++项目实例,查看开发过程。
报文日志文件入库实例---XML解析 报文日志文件入库实例---XML解析 报文日志文件入库实例---XML解析
axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 ...
反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...
Python 实例 - 抖音表白 Python源码Python 实例 - 抖音表白 Python源码Python 实例 - 抖音表白 Python源码Python 实例 - 抖音表白 Python源码Python 实例 - 抖音表白 Python源码Python 实例 - 抖音表白 Python源码...
Python 实例 - 截图工具 Python源码Python 实例 - 截图工具 Python源码Python 实例 - 截图工具 Python源码Python 实例 - 截图工具 Python源码Python 实例 - 截图工具 Python源码Python 实例 - 截图工具 Python源码...
Python 实例 - 五星红旗 Python源码Python 实例 - 五星红旗 Python源码Python 实例 - 五星红旗 Python源码Python 实例 - 五星红旗 Python源码Python 实例 - 五星红旗 Python源码Python 实例 - 五星红旗 Python源码...