当前位置:flash课件吧→免费FLASH教程之三(含实例教程)新页面 新改版 新气象

题 目:FLASH中加载外部音乐代码&部分难找AS教程

mySound.stop();
mySound = new Sound();
mySound.loadSound("http://wwheyi.go2.icpcn.com/flash/suiyuan.mp3", true);
mySound.start();
mySound.onSoundComplete = function ()
{
mySound.start(0, 1);
};

AS创建文本框
_root.createTextField("mytext", 1, 50, 50, 100,20);
mytext.multilance=false;//设置单行;
mytext.text="这是文本框"//文本赋值
然后是删除这个创建的文本框:
mytext.removeTextField();//删除!

如果大家要创建一个换行的文本框,就需要加上:
mytext.wordWrap =true //指示文本字段自动换行
mytext.autoSize=true //指定文本字段的自动对齐和大小调整

TextField 类的方法摘要

TextField.addListener() 注册一个对象,以便在调用 onChanged 和 onScroller 事件处理函数时接收通知。

TextField.getFontList() 返回播放器的主机系统上字体名称的数组。

TextField.getDepth() 返回文本字段的深度。

TextField.getNewTextFormat() 获取分配给新插入文本的默认文本格式。

TextField.getTextFormat() 返回包含文本字段中一些或全部文本的格式信息的 TextFormat
对象。

TextField.removeListener() 删除侦听器对象。

TextField.removeTextField() 删除使用 MovieClip.createTextField() 创建的文本字段。

TextField.replaceSel() 替换当前的所选内容。

TextField.setNewTextFormat() 为由用户或方法插入的文本设置 TextFormat 对象。

TextField.setTextFormat() 为文本字段中指定范围内的文本设置一个 TextFormat 对象。

TextField 类的属性摘要

TextField._alpha 文本字段实例的透明度值。

TextField.autoSize 控制文本字段的自动对齐和大小调整。

TextField.background 指示文本字段是否具有背景填充。

TextField.backgroundColor 指示背景填充的颜色。

TextField.border 指示文本字段是否具有边框。

TextField.borderColor 指示边框的颜色。

TextField.bottomScroll 文本字段中最下面的可见行。只读。

TextField.embedFonts 指示文本字段是使用嵌入字体轮廓还是使用设备字体。

TextField._height 文本字段实例的高度,以像素为单位。它只影响文本字段的边框,不影响边框的粗细和文本字体大小。

TextField._highquality 指示 SWF 文件的呈现品质。

TextField.hscroll 指示文本字段的水平滚动值。

TextField.html 指示文本字段的当前最大滚动位置。

TextField.htmlText 包含文本字段内容的 HTML 表示形式。

TextField.length 文本字段中的字符数。只读。

TextField.maxChars 文本字段最多可容纳的字符数。

TextField.maxhscroll TextField.hscroll 的最大值。只读。

TextField.maxscroll TextField.scroll 的最大值。只读。

TextField.menu 将 ContextMenu 对象与文本字段关联。

TextField.mouseWheelEnabled 指示当鼠标指针停在文本字段上且用户滚动鼠标滚轮时,Flash Player 是否应自动滚动多行文本字段。

TextField.multiline 指示文本字段是否包含多行。

TextField._name 文本字段实例的实例名称。

TextField._parent 对此实例的父级实例的引用;其类型为 Button 或 MovieClip。

TextField.password 指示文本字段是否隐藏输入字符。

TextField._quality 指示 SWF 文件的呈现品质。

TextField.restrict 用户可输入文本字段的字符集。

TextField._rotation 文本字段实例的旋转度数。

TextField.scroll 指示文本字段的当前滚动位置。

TextField.selectable 指示文本字段是否可选。

TextField._soundbuftime 在声音进入流之前,必须预先缓冲的声音的时间量。

TextField.tabEnabled 指示影片剪辑是否包括在 Tab 键的自动排序中。

TextField.tabIndex 指示对象的 Tab 键顺序。

TextField._target 指定文本字段实例的目标路径。只读。

TextField.text 文本字段中的当前文本。

TextField.textColor 文本字段中当前文本的颜色。

TextField.textHeight 文本字段边框的高度。

TextField.textWidth 文本字段边框的宽度。

TextField.type 指示文本字段是输入文本字段还是动态文本字段。

TextField._url 创建文本字段实例的 SWF 文件的 URL。只读。

TextField.variable 与文本字段关联的变量名。

TextField._visible 确定文本字段实例是隐藏还是可见的布尔值。

TextField._width 文本字段实例的宽度,以像素为单位。它只影响文本字段的边框,不影响边框的粗细和文本字体大小。

TextField.wordWrap 指示文本字段是否自动换行。

TextField._x 文本字段实例的 x 坐标

TextField._xmouse 指针相对于文本字段实例的 x 坐标。只读。

TextField._xscale 指定水平缩放文本字段实例的百分比的值。

TextField._y 文本字段实例的 y 坐标。

TextField._ymouse 指针相对于文本字段实例的 y 坐标。只读。

TextField._yscale 指定垂直缩放文本字段实例的百分比的值。

TextField 类的事件处理函数摘要
事件处理函数

TextField.onChanged
在文本字段更改时调用。

TextField.onKillFocus
在文本字段失去焦点时调用。

TextField.onScroller
在文本字段滚动属性之一发生更改时调用。

TextField.onSetFocus
在文本字段接收焦点时调用。

TextField 类的侦听器摘要

TextField.onChanged
在文本字段更改时获得通知。

TextField.onScroller
在文本字段的 scroll 或 maxscroll 属性更改时获得通知。
attachSound的部分常用语句
aa=new Sound();//创建一个新音乐
aa.attachSound("jgw");//将库中标识符为jgw的音乐导出播放(标识符在库中链接菜单中命名)
aa.start(0,10000);//音乐播放秒偏移量为0,播放10000次
aa.stop();//停止播放aa这个声音

如果你不想看到Flash的About和设置菜单,把下面的代码放到第一帧就行了:
_root.createTextField("danger", 999, 0, 0, Stage.width, Stage.height);
好了,现在换了一个新菜单.
注:这个适合用在没有交互的动画上,如果你需要使用按钮就去掉.
(这个好像是转载自Dengjie的Blog)

限制flash只能在服务器上观看
在第一帧中加入如下代码:
fscommand ("allowscale", "0");
url = "http://goday.gtma.cn";;//'" target="_blank" >http://goday.gtma.cn"; //这个换成你的域名
if (_url.substring(0, 20)<>url) { //那个0(h),20(n)就是指从第一个字符开始向后数到第20个字符(包括“://”和“.”符号),这个请自行根据上面的url=后面的http://goday.gtma.cn来更改
gotoAndPlay (2);
} else {
gotoAndPlay (3);
}
第二帧加入:
stop ();
第三帧加入:
stop ();
然后把正式内容放在第三帧就好了,第二帧放入出错内容
当然有人说用播放就可以跳过,这里是给出一个思路,你可以用loadmove等等等等等等等等的方法来加载于否正式影片

用ShareObject在本地保存数据(下面帖子有篇文章将较详细讲解)
例(本地保存数据,要想远程保存数据,也可以,跟下边的例子差不多,只不过要安装 flashcom 需要$ 蛮贵的)
function test(){
this.userinfo_so=SharedObject.getLocal("test/userinfo","/");
if(this.userinfo_so.data.info == null){
this.userinfo_so.data.info=new Object();
this.userinfo_so.data.info.username=new Array();
this.userinfo_so.data.info.email=new Array();
}
this.setUserinfo=setUserinfo;
this.getUserinfo=getUserinfo;
this.delUserinfo=delUserinfo;
}
function setUserinfo (username,email)
{
with(this.userinfo_so.data){
uLength=info.username.length;
eLength=info.email.length;
info.username[uLength]=username;
info.email[eLength]=email;
}
var status=this.userinfo_so.flush();
}
function delUserinfo(){
this.userinfo_so.data.info=null;
this.userinfo_so.flush();
}
function getUserinfo (){
for(var i=0;i<this.userinfo_so.data.info.username.length;i++){
trace(i+":"+this.userinfo_so.data.info.username);
}
}
var gg_so=new test();
gg_so.setUserinfo("glghcool","glghcool@etang.com");
gg_so.getUserinfo();

外部载入文本
动态文本框必须放在MC里面
system.useCodepage = true;
loadVariables ("1.txt",mc)
文本里的最前面是:动态文本框的变量名=你的内容易

判断用户名和密码是否正确,以及根据不同用户名进入不同帧数
用户名的文本框为myname,密码框为mypass
on (release) {
if (myname == "用户名1" && mypass == "密码1") {
gotoAndPlay (85);
} else if (myname == "用户名2" && mypass != "密码2") {
gotoAndPlay (82);
} else if (myname != "用户名3" && mypass == "密码3") {
gotoAndPlay (83);
} else if (myname != "用户名4" && mypass != "密码4") {
gotoAndPlay (84);
}
}

FLASH无手指按钮的制作
只需要在第一帧加上:
buttonname.useHandCursor=0
buttonname是你按钮的实例名(不是库里面的名字,属性面板里面的实例名)

FLASH实现设为首页、加入收藏、打开一个制定的新窗口
设为首页:
on (release) {
getURL("javascript :void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomePage('http://www.flashempire.com/&;#39;);", "_self", "POST");
}

加入收藏夹:
on (release) {
getURL("javascript :void window.external.AddFavorite('http://www.flash8.net&;#39;,&#39;闪吧&#39;);", "_self", "POST");
}

在Flash中打开一个定制的浏览器新窗口
Get URL ("java script:window.open("new.htm","newwin","width=320,height=320");")

Loading制作资料(Loading的制作都是使用这些AS,那些样子不同的Loading只是表现手法不一样,AS都是大同小异的,自己看看就明白了)
建一个MC.做一个载入条动画为100祯.拖入主场景中命名实例名为Bar,在载入条下面用文字工具拖一个动态文本框,在右下角加入变量名Percent

第一祯加入祯标签loop,并打开动作面板,输入下面代码:

bt=int((_root.getBytesTotal())/1000);
l=int((_root.getBytesLoaded())/1000);
p=int((l/bt)*100);
Percent=p+"%";//Percent为动态文本变量名.即显示百分比
_root.Bar.gotoAndStop(p);//Bar为载入条的实例名

在第二祯加入

if(p==100){
stopAllSounds();
gotoAndPlay("main");
}else{
gotoAndPlay("loop");
}

动画开始的那一祯加上祯标签main或者这里可以改为跳到下一个场景名或某一祯也可以
loading 制作中的主要AS:
x=Math.floor((_framesloaded/_totalframes)*100);//_framesloaded 表示已下栽的帧数_totalframes 总的帧数
setProperty("_root.load",_xscale,x);// _xscale横向缩放百分比的值
jindu="影片已下载"+_root.x+"%\n 请耐心等待";

第二帧:
输入如下AS:if(x<100){
gotoAndPlay(1);
}else{ jindu=" 下载完毕!";
}

用鼠标画线
onMouseDown=function () {
lineStyle(2,0*000000,100)
lineTo(_xmouse,_ymouse)
}

onMouseMove = function() {
if (a) {
lineStyle(2,0x000000,100);//指定线条的粗度为2,颜色为黑色,透明度为100;
lineTo(_xmouse, _ymouse); //画线至鼠标所在位置;
}
updateAfterEvent(); //强制刷新;Flash 强制进行显示刷新工作。该语句不依赖于时间帧的触发。
};
onMouseDown = function() {
a = true; //鼠标按下,给a变量赋值true,即执行上面的if后面括号内的语句,开始画线;
moveTo(_xmouse, _ymouse);//重新定位开始点;
};
onMouseUp = function() {
a = false; //鼠标松开,给a变量赋值false,不执行上面的if后面括号内的语句,停止画线;
};

几个需要掌握的AS
1、var a = Math.abs(-7); // 求绝对值(这里是求-7的)

2、function myFunction(myNum) {
var newNum = myNum+5;
return newNum;
}
trace(myFunction(8));
//定义 调用并输出函数值

3、多数情况下,需要用到鼠标光标在主场景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。
onClipEvent (enterFrame) {
_x = _root._xmouse;
_y = _root._ymouse;
}//让影片剪辑和鼠标保持相同坐标

4、将矩形影片剪辑作为遮罩图形
在矩形影片剪辑的动作面板中添加如下ActionScript:
onClipEvent (load) {
xs = _width;
ys = _height;
}
onClipEvent (enterFrame) {
_xscale = 100*(_root._xmouse-_x)/(xs/2);
_yscale = 100*(_root._ymouse-_y)/(ys/2);
}
在load事件中,用变量xs和ys取得影片剪辑初始状态下的宽度和高度值。在enterFrame事件中,计算鼠标位置与矩形影片剪辑中心的距离,算出它与矩形宽度和高度值的比值,然后作为_xscale和_yscale的值。该动画实现移动鼠标位置以改变遮罩效果

5、Array对象(动作面板的“对象”/“核心”目录)即数组,它用来记录成组的相关或相似变量。创建一个空的数组:
myArray = new Array();
如下所示的ActionScript创建一个确定值的数组并在输出窗口中显示每个元素的值:
weekDay = new Array("SUN", "MON", "TUE", "WED", "TUR", "FRI", "SAT");
for (var i = 0; i<7; i++) {
trace(weekDay);
}

数组中还可以嵌套数组,即构成多维数组,如下所示:
polyArray = new Array();
for (var i = 0; i<3; i++) {
polyArray = new Array(i*3+1, i*3+2, i*3+3, i*3+4);
trace(polyArray[0]+" "+polyArray[1]+" "+polyArray[2]+" "+polyArray[3]);
}
输出窗口中将显示:
1 2 3 4
4 5 6 7
7 8 9 10

判断本机Flash播放器版本并进行下载
ss=System.capabilities.version;
if(substring(ss,5,1)<>"7"){getURL("http://www.macromedia.com/cn";,_blank);}//'" target="_blank" >http://www.macromedia.com/cn",_blank);}//那个7就是版本号

用奇偶判断来做一个按钮的声音开关
第一帧加入(第一帧空帧):
t=0 //给t赋初值

第二帧加入:
stop(); //停止在第二帧
ms=new Sound //新建一个声音对象ms
ms.attachSound("sound") //空声音对象从库中调用连接名为sound的声音
ms.start() //ms开始播放
ms.onSoundComplete=function () { //当ms这个声音播放完后执行以下AS
ms.start //重复播放ms
}

第二帧上面的控制按钮加入
on (release) { //当鼠标松开的时候执行下面AS
t=t+1 //t的值等于本身的值加1
if (t%2==1) { //如果T取摸2等于1
ms.stop() //则ms停止播放
b=ms.position/1000 //b的值等于现在ms声音停止的位置
} else { //否则
ms.start(b) //ms从刚刚停止的地方(b)开始播放
}
}

实现倒放(可以自行联想作出许多不间断缩放效果,如动态按钮等,曾经我写过一篇这样的教程):
给放在场景中比如有40桢的MC添加如下语句

onClipEvnt(load){
gotoAndStop(40);//影片载入时就跳转到40桢并停止
}

onClipEvent(enterFrame){
prevFrame();//不断的播放前一桢,
}

 

 

 

 

 

 

期刊论文服务

合作期刊
学报期刊
 
获奖证书办理
本站已改版成新站 课件115学培吧http://www.kj115.com
免费FLASH教程之三(含实例教程)内容导航
为Flash建搜索内容索引 Flash广告播放器研发 Flash引领互动动画潮流 Flash趣味鼠标特效大作战
Flash MX 2004滚动文本框的两种做法 给Flash文件添加历史记录 Flash中的常见术语(详解) 用笛卡尔公式画出的一颗心状图
播放器拖动进度条制作 水滴效果动画,Flash制作中的AS问题 中秋寄相思 自制Flash贺卡 用SWiSHmax轻松制作精彩Flash片头
用autocad制作一个量角器_autocad教程 Flash百叶窗制作教程 Flash制作实用别致的导航菜单 Flash实用技巧之音乐时间显示篇
Flash中的电影艺术之镜头技巧教程
Flash AS游戏教程:人物及控制 PS+FLASH制作马赛克效果 如何在论坛中,链接自已的FLASH动画呢!
FLASH中的抛运动中的竖直上抛运动 鼠标感应花儿转动效果 FLASH效果篇:闪光效果 自己动手制作手机Flash主题动画
晨雾蒙蒙动画效果,Flash制作方法 Flash制作简单MP3播放器 Flash制作滚动广告图片效果 Flash MX动画制作实例教程-文字处理-设置段落属性
电闪雷鸣、小雨纷飞的效果,Flash制作方法 Flash实现用鼠标调整窗口的大小 AS3学习源码--打气球 关于主动画中load动画和动态文本的共同运用问题
关于倒计时程序的准确性解决方法之一 Flash加载外部文件的方法与技巧集合 Tween类:图片缓动浏览效果 FLASH中加载外部音乐代码&部分难找AS教程
Flash与Java Servlet结合实现网上对战 用AS3实再FLASH游戏的上下左右移动 FLASH中加载外部音乐代码 Flash动态文本框中加载HTML格式文本
Flash制作环绕的立体图片效果动画 FLASH CS3中的FLA形式组件制作教程 酷!Flash聊天室的实现 更多相关内容总目录(200个)》》》
国家信息产业部备案专号:鄂ICP08005724返回顶部
本站推荐最佳分辨率:1024X768在线咨询台
声明:我站除课件制作动画制作培训以外,所有内容均属于免费资源。本站部分资源来自于网络,由本站收集整理,如有侵权请联系本站管理(QQ444860709 手机13339817386),我站会在三个工作日内处理。