分享一个图象变形类(Skew),,位图梯形化[080819]
类代码源自国外一站,站点不记得了.....先分享下吧,用起来也蛮方便的,可以达到4点控制一张位图
使用方法:
var skew:Skew = new Skew(imageBoard, "Image", 5, 5);//参数分别是一图象容器MC,位图的库中连接名,横向切割刀数,纵向切割刀数(象切西瓜...)
skew.setTransform(x0,y0,x1,y1,x2,y2,x3,y3)//分别为位图四个顶点的坐标设置,4点确定一位图,所以这里可以设置成梯形
效果:
类文件和源文件在附件中~
PS:这里通过Matrix,只是近似模拟出效果,有的位置出的效果也不是很理想,想很理想,还得另寻它法~
[color=red]更新下Skew的AS 3.0版,其实就几个地方变动一下就能照样使用啦~
public class test extends Sprite {[/color]
[color=red] public function test() {
var sk : Skew = new Skew(this, "Image", 5, 5);//第二个参数为库中图片绑定的类名
sk.setTransform(100, 100, 200, 70, 220, 200, 80, 210);
}
}
注:080819更新
[/color]
[[i] 本帖最后由 ycccc8202 于 2008-8-19 16:07 编辑 [/i]] UP!!
呵呵,好东东,收藏!!
谢谢版主!! 谢谢 不错不错,很好
回复 #1 ycccc8202 的帖子
这是我一直想要的!!!谢啦:lol [quote]原帖由 [i]JavaCS3[/i] 于 2007-8-1 12:20 发表这是我一直想要的!!!谢啦:lol [/quote]
LS为这个事儿确实折腾了一阵子,呵呵!:lol 恩,以后咱们就直接拿来用
灰常灰常方便! [quote]原帖由 [i]ycccc8202[/i] 于 2007-8-1 12:30 发表
恩,以后咱们就直接拿来用
灰常灰常方便! [/quote]
嘿嘿,那是!!
以后就跟版主混了,嘿嘿,捡好东西:lol 真的不错,好东西,谢谢了 不错 这是flash 3d引擎有关图形扭曲的distortimage类 妙,这正是我想要的,做电子相册不用愁了!:lol 好!!!!:lol [img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img] [img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img] [img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img] [img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img][img]http://218.30.76.31:81/Public/System/EmotePic/200612262140580507551ydw9ih0ds1.gif[/img] 这撕病了 有点讨厌那个人,有点问题一样。:L 在去年就看过啦,哈哈...
[url]http://www.nikemode.com/blog/article.asp?id=255[/url] 很方便的咚咚 好东西。感谢斑竹
奇怪阿多比为什么不解决这个问题,要是做成常用工具多好。 这个能否做成自动扭曲(随意变形),也就是一加载就onEnterFrame自动变化形状。会不会卡?支不支持大图片? 精确度要求低点就不怎么卡,宽高别超过2880,应该都行 那如果用你这个改成自动变化形状的应该怎么改?另外精度又在哪设置?
import com.ycccc.MovieClip.Skew;
var imageBoard:MovieClip = createEmptyMovieClip("imageBoard", dot0.getDepth()-4);
var skew:Skew = new Skew(imageBoard, "Image", 5, 5);
//精度越大效果越好,但不能太大会死机哦~,我这里设置了不能超过20
var w:Number = imageBoard._width;
var h:Number = imageBoard._height;
var sx:Number = 30;
var sy:Number = 30;
var interval:Number;
dotSet();
function dotSet() {
var p:Array = [[0, 0], [w, 0], [w, h], [0, h]];
for (var j = 0; j<4; j++) {
this["dot"+j]._x = sx+p[j][0];
this["dot"+j]._y = sy+p[j][1];
this["dot"+j].onPress = function() {
this.startDrag();
interval = setInterval(this._parent, "flush", 10);
};
this["dot"+j].onRelease = this["dot"+j].onReleaseOutside=function () {
this.stopDrag();
clearInterval(interval);
};
}
skew.setTransform(dot0._x, dot0._y, dot1._x, dot1._y, dot2._x, dot2._y, dot3._x, dot3._y);
}
function flush() {
updateAfterEvent();
skew.setTransform(dot0._x, dot0._y, dot1._x, dot1._y, dot2._x, dot2._y, dot3._x, dot3._y);
} 试了下这算法效率挺高的,可以调整清晰度来减少运算量,合理运用这点用来做动画可以达到比较理想的效果...可惜暂时还没完全看懂代码....继续努力~~~ 嗯!我也试着去改动代码来达到我想要的效果,可惜本人技术有限,没有成功。 skew.setTransform(x0,y0,x1,y1,x2,y2,x3,y3)
//自动设置4个点的位置不就达到自动变化的效果了,不断调用这个方法就行了 我试着用春叶飘零版主的方法实现了自动变化,但是为什么播放后速度越来越慢,越来越卡?
function dotSet() {
var p:Array = [[0, 0], [w, 0], [w, h], [0, h]];
for (var j = 0; j<4; j++) {
this["dot"+j]._x = sx+p[j][0];
this["dot"+j]._y = sy+p[j][1];
dot0._x = dot0._y=100;
dot0.onEnterFrame = function() {
if (dot0._x<200) {
dot0._x += 2;
dot0._y += 2;
interval = setInterval(this._parent, "flush", 10);
} else {
clearInterval(interval);
}
};
}
skew.setTransform(dot0._x, dot0._y, dot1._x, dot1._y, dot2._x, dot2._y, dot3._x, dot3._y);
}
function flush() {
updateAfterEvent();
skew.setTransform(dot0._x, dot0._y, dot1._x, dot1._y, dot2._x, dot2._y, dot3._x, dot3._y);
} 刚研究了一下还是不知道答案,各位知道的能否说解一下?谢谢 密切关注ing........ 记得老外写过一个比较理想的. 哈哈
收下了 [quote]原帖由 [i]HBrO[/i] 于 2007-8-25 18:39 发表 [url=http://space.flash8.net/bbs/redirect.php?goto=findpost&pid=2050013&ptid=339581][img]http://space.flash8.net/bbs/images/common/back.gif[/img][/url]
记得老外写过一个比较理想的. [/quote]
那你快记得是在哪看到的 :lol 那先看看这个 [quote]原帖由 [i]jimson.cn[/i] 于 2007-8-25 15:58 发表 [url=http://space.flash8.net/bbs/redirect.php?goto=findpost&pid=2049954&ptid=339581][img]http://space.flash8.net/bbs/images/common/back.gif[/img][/url]
我试着用春叶飘零版主的方法实现了自动变化,但是为什么播放后速度越来越慢,越来越卡?
function dotSet() {
var p:Array = [[0, 0], [w, 0], [w, h], [0, h]];
for (var j = 0; j [/quote]
// 这里用了onE就不用再里面用setInterval了,这样就叠加了,当然会消耗资源 [quote]原帖由 [i]HBrO[/i] 于 2007-8-25 22:17 发表 [url=http://space.flash8.net/bbs/redirect.php?goto=findpost&pid=2050076&ptid=339581][img]http://space.flash8.net/bbs/images/common/back.gif[/img][/url]
那先看看这个 [/quote]
...还不是这个..
[[i] 本帖最后由 ycccc8202 于 2007-8-25 22:46 编辑 [/i]] 受教了!效果已经出来了。谢谢“春叶飘零版主” 目前我也有这方面的问题,不过大家表达得。。。而且代码看得。。。。
我再研究一下。。。 绝对的好东东啊~ 有人用过BitmapData写mode7没有,正在尝试写这个 have as3 version of skew?i want as3...thx 研究一下贴图。 灰常灰常好 你们都太强了.强帖!! 下了.学学 好,非常好,有源文件就好,下了慢慢研究 用一次就知道是我想要的 刚刚学习中,还没有入门。看代码学习~ thanks for shareing Good!Up!!! 这个具体怎么用啊?
能告诉我下吗
谢谢了 是放在元件的动作里吗
还是放在帧的动作里?
就放这两上段就可以吗 很妖的东东啊,呵呵,好东西 强烈支持。。。 楼组 辛苦 晕~~斌斌~?~??~ 不错不错 FLASH MP3制作全过程 (原创视频) 超详细精炼【原创】
[url]http://dzh.mop.com/topic/readSub_7922045_0_0.html[/url]
以上是视频教程观看地址
大概下载到10%就可以在线观看了
为自己的博客动手设计一个绝无仅有的FLASH MP3播放器吧
不需要任何基础
只需要对着视频操作就可以完成
而且视频讲解非常详细 通俗易懂
看不了的请回贴报个问题 并可以留下自己的QQ号或MSN号
提供在线传
视频文件是FLV格式的 大家嫌在线看不稳定可以下载个FLV下载器
把视频下载回去看
如果需要更多教程可以回帖要
另外特地附上MP3制作所需的SKIN 图片
看后保证可以自己动手制作 强人太多。
页:
[1]
2
