免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖
查看: 2911|回复: 11 收起左侧
开启左侧

[优秀作业] AS3.0脚本基础Tween类第三课:按钮控制的循环《最浪漫的事》   [复制链接]











评分

1

评分人数

收藏收藏 转播转播 分享分享 分享淘帖 顶0 踩0

最近看过此主题的会员

点评
B Color Link Smilies

您还可以输入:个字符
X

 X

本帖最后由 发财 于 2014-3-4 10:32 编辑

      老师的素材是大图,论坛不能发表,我改了一下素材:把标题改成两行,轴的高度改成382,在老师的代码基础上我改了一下,我把文档属性也改成704x400,代码下面加了一个矩形,大小也是704x400,颜色代码#CDFFFF,我把代码发出来;便于朋友们参考:
[SWF(width=704,height=400,backgroundColor=0xcdffff,frameRate=12)]
//导入缓动类、 缓动事件、缓动方程
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;

//定义舞台变量
var W:int=stage.stageWidth,H:int=stage.stageHeight;

//加载swf文件
var swfloadoader=new Loader();
swfload.load(new URLRequest("Water people.swf"));
addChild(swfload);
swfload.scaleX=swfload.scaleY=0.8
swfload.x=0;
swfload.y=20;
//定义Tween类全局变量
var tweenObj:Object=new Object();

//实例化画轴(左右两个)
var scrollsL:Sprite=Sprite(addChild(new Scrolls()));
scrollsL.x=10,scrollsL.y=200;
var scrollsR:Sprite=Sprite(addChild(new Scrolls()));
scrollsR.x=27,scrollsR.y=200;

//为swf图片绘制矩形遮罩
var picmask:Sprite=Sprite(addChild(new Sprite()));
picmask.graphics.beginFill(0x00ffff);
picmask.graphics.drawRect(0,30,20,440);
swfload.mask=picmask;
//画轴与图片遮罩的Tween缓动
tweenObj[0]=new Tween(scrollsR,"x",None.easeIn,scrollsR.x,695,9,true);
tweenObj[1]=new Tween(picmask,"scaleX",None.easeIn,1,56,14.5,true);
tweenObj[0].stop();
tweenObj[1].stop();
//鸳鸯和摇椅的实例化
var duck:Sprite=Sprite(addChild(new Duck()));
duck.x=140,duck.y=330;
duck.alpha=0;
var chair:Sprite=Sprite(addChild(new Chair()));
chair.x=140,chair.y=300;

//鸳鸯的Tween缓动和循环
tweenObj[2]=new Tween(duck,"x",Regular.easeOut,duck.x,630,100,true);
tweenObj[3]=new Tween(duck,"y",Regular.easeOut,duck.y,duck.y-80,100,true);
tweenObj[2].looping=true;
tweenObj[3].looping=true;
tweenObj[2].stop();
tweenObj[3].stop();
//摇椅的Tween缓动和反向循环
tweenObj[4]=new Tween(chair,"rotation",Regular.easeInOut,10,-10,4,true);
tweenObj[4].addEventListener(TweenEvent.MOTION_FINISH,back);
function back(e:TweenEvent) {

tweenObj[4].yoyo();
}
tweenObj[4].stop();
//加载音乐
var music:Sound=new Sound();
var chan:SoundChannel=new SoundChannel();
music.load(new URLRequest("The best romantice things.mp3"));
//应用系统的编码加载和读取外部文本文件(应用分隔符)
System.useCodePage=true;
var url:URLLoader=new URLLoader();
var txtreq:URLRequest=new URLRequest("The best romantice things.txt");
url.dataFormat=URLLoaderDataFormat.TEXT;
url.load(txtreq);
var txt:TextField=new TextField();
url.addEventListener(Event.COMPLETE,com_txt);
function com_txt(e:Event) {

var txtarr:Array=(url.data as String).split("|");

for (var i:uint=0; i<txtarr.length; i++) {

txt.appendText(txtarr+"\n");

}

addChild(txt);

setChildIndex(txt,numChildren-2);

txt.width=350;

txt.x=240;

txt.y=H-60;

txt.filters=[new DropShadowFilter(3,45,0xffff00,1,5,5,1,1,true)];

var fmt:TextFormat=new TextFormat();

fmt.font="华文行楷";

fmt.size=25;

fmt.bold=true;

fmt.color=0xff0000;

txt.setTextFormat(fmt);

txt.alpha=0;
}
//按钮实例化和双控
var btn:SimpleButton=SimpleButton(addChild(new Btn()));
btn.x=640,btn.y=383;
setChildIndex(btn,numChildren-1);
var b:Boolean=true;
btn.addEventListener("click",cl);
function cl(e:MouseEvent) {

if (b) {

txt.alpha=1;

chan=music.play(0,int.MAX_VALUE);

addEventListener("enterFrame",fr);

tweenObj[0].start();

tweenObj[1].start();

tweenObj[2].start();

tweenObj[3].start();

tweenObj[4].start();

} else {

txt.alpha=0;

chan.stop();

removeEventListener("enterFrame",fr);

tweenObj[0].stop();

tweenObj[1].stop();

tweenObj[2].stop();

tweenObj[3].stop();

tweenObj[4].stop();

tweenObj[5]=new Tween(scrollsR,"x",None.easeIn,scrollsR.x,27,10,true);

tweenObj[6]=new Tween(picmask,"scaleX",None.easeIn,35,1,10,true);

duck.alpha=0;

chair.x=140,chair.y=300;

duck.x=140,duck.y=330;

txt.y=H-60;

}

b=! b;
}
//文本移动帧频函数(应用分隔符)
function fr(e:Event) {

duck.alpha=1;

txt.autoSize=TextFieldAutoSize.LEFT;

txt.wordWrap=true;

txt.y-=0.7;

if (txt.y<0-txt.height) {

txt.y=H-60;

}
}
//标题
var caption:Sprite=addChild(new Caption())as Sprite;
caption.x=100;
caption.y=2;

//舞台遮罩
var mas:Shape=Shape(addChild(new Shape()));
mas.graphics.beginFill(0x00ffff);
mas.graphics.drawRect(0,0,W,H);
this.mask=mas;
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

本帖最后由 发财 于 2014-3-4 10:03 编辑

坐沙发,听喜欢的歌。
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

人生最浪漫的事,就是和心爱的人,相依相伴,慢慢变老。
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

老师辛苦了
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

完成不错额
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

老师真棒!辛苦了
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

后面两句代码还不如不要效果更好
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

丽人有事要离开,晚上再细细拜读
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP











点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

回复 10# 发财

这个解决了按钮控制乱屏的问题,可还有问题,有待改善
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

按钮控制,制作不错,谢谢你的作品,欣赏了。
点评
B Color Link Smilies

您还可以输入:个字符
X

 X

TOP

返回列表 发帖