93 1234
发新话题
打印

非组件的翻书效果制作过程(有原文件)

非组件的翻书效果制作过程(有原文件)

网上有好多这样的东西,但是大都用组件做成的,有的往往还有收费,我的这个不用组件,基本都是代码,但是结构很简单,一目了然,大家下载原文件就可以看出来,至于代码的含义我就不详细说了,我在这主要说一下替换自己的图片时候怎么样改写代码。
主场景一共有四帧代码:
第一帧代码:x1=50;y1=50
x2=250;y2=50
x3=450;y3=50
x4=50;y4=200
x5=250;y5=200
x6=450;y6=200
//这六个坐标点就是书摊开后的左上,中上,右上,左下,中下,右下点;其中左上点(x1,y1)是定位点,可以决定书在舞台的位置,然后其余的五个坐标就由你的图片大小决定,(x2-x1)和(x3-x2)相等是书的单页宽,同理(x5-x4)和(x6-x5)相等也是一样的道理,(y4-y1)和(y5-y2)和(y6-y3)相等是图片的高。
attachMovie("cover","p0",100)
//这是第一张
attachMovie("bottom","p19",120)
//这是最后一张
for(i=2;i<=20;i+=2){
        attachMovie("Page"+i,"p"+i,100+i/2)
}
//17这个数字是总图片数20-3得出
for(i=1;i<=17;i+=2){
//这个111的数字是根据上面Page20的level是110得出
        attachMovie("Page"+i,"p"+i,111+(i-1)/2)
}
//你的图片多少不一样,每张图片所在的level也很重要,这要你自己根据我的原文件的图片数目和你的比较后调整
//图片都是从库里调用,所以都要有链接标识符,得把所有的图片建成影片剪辑,在每个影片剪辑里都要把图片左对齐和底对齐到舞台,这点很重要,还有你要准备的图片必须是双数
//影片剪辑Page20里面画一个和图片大小一样的矩形,颜色和背景色一样,也要左对齐和第对齐到舞台
mask1._x=x6;
mask1._y=0
mask2._x=x6
mask2._y=0
//遮罩尽量做大一点,在主场景里各占一半
mask1._visible=false
mask2._visible=false
page=0
mouse2=0
x=x6
y=y6
xmouse=x6
ymouse=y6

TOP

第二帧代码:
flag=1
if(page>0){
        eval("p"+(page-1))._visible=true
        eval("p"+(page-1))._x=x4
        eval("p"+(page-1))._y=y4
        eval("p"+(page-1))._rotation=0
}
//20是我用的图片数字,你用多少改为多少
if(page<20){
        eval("p"+page)._visible=true
        eval("p"+page)._x=x5
        eval("p"+page)._y=y5
        eval("p"+page)._rotation=0
        eval("p"+(page+1))._visible=true
        eval("p"+(page+1))._x=x6
        eval("p"+(page+1))._y=y6
        eval("p"+(page+1))._rotation=0
        eval("p"+(page+1)).setMask(mask1)
        eval("p"+(page+2))._visible=true
        eval("p"+(page+2))._x=x5
        eval("p"+(page+2))._y=y5
        eval("p"+(page+2))._rotation=0
        eval("p"+(page+2)).setMask(mask2)
}
//这也要改
for(i=0;i<=20;i++){
        if(i<page-1||i>page+2){
                eval("p"+i)._visible=false
        }
}

TOP

第三帧代码:
xx=_xmouse
yy=_ymouse
if(Key.isDown(1)){
        mouse1=1
}
else{
        mouse1=0
}
if(mouse2==1&&mouse1==1&&((xx-x5)*(xx-x5)+(yy-y5)*(yy-y5)<=(x6-x5)*(x6-x5))&&((xx-x2)*(xx-x2)+(yy-y2)*(yy-y2)<=(x6-x5)*(x6-x5)+(y5-y2)*(y5-y2))){
        xmouse=xx
        ymouse=yy
}
if(mouse2==0&&mouse1==1){
//150是我主场景宽的一半左右,它的值决定你的鼠标的灵敏度,你可以根据你的场景来调整
        if(flag==1&&xx<150&&page>0){
                page-=2
                x=x4
                y=y4
                xmouse=x4
                ymouse=x4
                gotoAndPlay(2)
        }
}
if(mouse1==1){
        flag=0
        x=xmouse/5+x*4/5
        y=ymouse/5+y*4/5
}
if(mouse1==0){
//这个150也要改,和上面一样
        if(xmouse>150){
                x=x6/6+x*5/6
                y=y6/4+y*3/4
        }
        else{
                x=x4/6+x*5/6
                y=y4/6+y*5/6
        }
}

eval("p"+(page+1))._x=x
eval("p"+(page+1))._y=y
if(flag==0&&page<20&&Math.abs(x-x4)+Math.abs(y-y4)<1){
        page+=2
        x=x6
        y=y6
        xmouse=x6
        ymouse=y6
        flag=1
        gotoAndPlay(2)
}
if(Math.abs(x-x6)+Math.abs(y-y6)<0.5){
        a=0
        flag=1
}
else{
        a=Math.atan2(y6-y,x6-x)
}
eval("p"+(page+1))._rotation=2*a*180/Math.PI
mask1._x=(x+x6)/2
mask1._y=(y+y6)/2
mask1._rotation=a*180/Math.PI
mask2._x=(x+x6)/2
mask2._y=(y+y6)/2
mask2._rotation=a*180/Math.PI
mouse2=mouse1
第四帧代码:
gotoAndPlay(3);

TOP

我在原文件库里还有一些多余的图片,你可以根据我说的再多加几页,图片的大小我都调整到一样大小了,我把所以应该注意的问题都说了,如果还有不明白的地方可以大家互相切磋;如果你觉得还行的话回个帖鼓励一下吧,也算我没有白忙乎。

最后是原文件:

附件

翻书2.rar (413.18 KB)

2006-8-28 18:40, 下载次数: 4844 , 阅读权限: 1

原文件

TOP

文件太大文件还得swf分开上传,还把原来库里的多余图片删了才小于500k

附件

翻书2.swf (343.21 KB)

2006-8-28 18:44, 下载次数: 4676 , 阅读权限: 1

TOP

好,我下了。

TOP

顶下吧
IT民工

TOP

3Q
http://steamlin.flash8.net
网站建设/域名、空间租用..www.china-space.cn
蓝莫名博http://www.20click.com/cn/index.php?u=steamlin

TOP

不错!!原创!!!

TOP

very good!

TOP

不错,学习。

TOP

我用mx怎么原文件打不开

TOP

不会吧,我发布设置的时候就是flash 6.0  actionscript 1.0 配置文件 flash mx

TOP

原创吗?还可以啦
盘古教育软件 www.panguedu.com
----------------------------------------------------------
联系qq:13285235

TOP

So good!!!
页面尽力往左下拉,会有撕裂效果?是有意做成这样的吗?

TOP

这个我到没注意,不是,与鼠标拖拽的范围有关

TOP

原创 鼓励 学习!

TOP

鼓励!!!

TOP

不错..收下.

TOP

演示的都是图片,可以加载跨页的动画吗?

TOP

我去考虑考虑先

TOP

不错。学习。。。。

TOP

占击左上角,有撕裂现象,一点建议,一定范围内单击鼠标能翻页,向右翻的效果欠佳.总体值得学习.

TOP

支持一下了
生活难免不如意,我要做一只不倒翁,在跌倒的瞬间弹起。永不气馁,永不放弃。

TOP

你的原创真的不错,我作为一个普通使用者认为如果能把页与页的连接处加上一道阴影,这样就更有书的味道了。还有就是在从左向右翻时,只要鼠标碰到左边的页,那页就会自动的跑了。

TOP

楼主辛苦,支持!!!!

TOP

学习学习。
小建议:向右翻的效果欠佳,鼠标按中间位置都只能是控制右边的页面。
请问如果直接用按钮控制的话是怎样做这种效果?

TOP

支持
.........^:^.........貌似高手

TOP

这个比较明了,好东西就要顶一下

TOP

不错,学习。

TOP

 93 1234
发新话题