资源描述
怎样用文本控制链接
我用flashmx做了一个导航菜单,可是在今后修改链接很麻烦,近日听说可以用文本来控制链接,想请问如何用文本文件来控制flash里的链接?
在此先谢谢回答问题的各位了!
这个分2个步骤来:
1.新建一个文本文件,文件名为:1.txt,打开文本输入:a=,保存
2.打开你的Flash原文件,新建一个层,在这个层里加代码:loadVariablesNum("1.txt", 0);
在你要加的按扭上加Action:
on (press) {
getURL(_root.a, "_blank");
}
我在1.txt里面,做一个链接,是可以,可是,做很多链接,就不行了,请问,我怎么样做才可以?
文本文件(文件名假设为link.txt)
count=3&link1=
as代码:
var link_lv:LoadVars=new LoadVars();
link_lv.function(success)
{
if(success)
{
for(var i=0;i {
trace(this["link"+(i+1)]);
}
}
else
{
trace("装载失败");
}
}
link_lv.sendAndLoad("link.txt",link_lv,"get");
原因是一个文本文件只能控制一个按钮的连接.如果要给5个按钮添加连接,就建5个文本文件.
1.txt 输入:a=
2.txt 输入:b=
3.txt 输入:c=
4.txt 输入:d=
5.txt 输入:e=
接下来按照
打开你的Flash原文件,新建一个层,在这个层里加代码:loadVariablesNum("1.txt", 0);
在你要加的按扭上加Action:
on (press) {
getURL(_root.a, "_blank");
}
一共在flash原文件新建5个层,分别加上代码
loadVariablesNum("1.txt", 0);
loadVariablesNum("2.txt", 0);
loadVariablesNum("3.txt", 0);
loadVariablesNum("4.txt", 0);
loadVariablesNum("4.txt", 0);
在你要加的按扭上加Action:
on (press) {
getURL(_root.a, "_blank");
}
on (press) {
getURL(_root.b, "_blank");
}
……
on (press) {
getURL(_root.e, "_blank");
}
这种方法很笨拙,能达到这个效果。我对脚本一窍不通,试出来的。
谢谢各位的指点,我把sean820123与thor_cn的方法做了一个合并,达到了我所想要的预期效果。
分2个步骤来:
1.新建一个文本文件,文件名为:1.txt,打开文本输入:a=,
(如果做多个链接,在变量前加"&":
&a=
&b=
&c=)
然后保存。
2.打开你的Flash原文件,新建一个层,在这个层里加代码:loadVariablesNum("1.txt", 0);
在你要加的按扭上加Action:
on (press) {
getURL(_root.a);
}
这样就OK了。
在此我要再次谢谢各位!
------------------------------------------------------------------------------------------------------------>>>>
请教!显示北京时间的问题
我设计了一个动画,想让这动画显示北京时间,制作出来的数字不会动;也试过在第二帧加循环gotoAndPlay(1),但是整个动画就无法进行下去,总是停在第一帧。应该怎样调整或设置?
正确答案
用AS中Date()类很容易实现:
1 用文字工具在舞台上画一个文本范围,更改其属性为“动态文本”,并且是“多行”的。
2 新建一层,在这层的第一帧,也是唯一的一个关键帧(其他全是普通帧,总帧数与当前场景的最大帧数一致)上加上加如下AS:
onEnterFrame = function () {
var mydate = new Date();
var year = mydate.getFullYear();
var month = mydate.getMonth()+1;
var date = mydate.getDate();
var day = mydate.getDay();
var time = mydate.getTime();
var hour = mydate.getHours();
var minute = mydate.getMinutes();
var second = mydate.getSeconds();
mytime = "现在是"+year+"年"+month+"月"+date+"日"+" "+"周"+day+"\n"+hour+"点"+minute+"分"+second+"秒"+"\n"+"当前页面已打开:"+getTimer();
time_text.autoSize = true;
};
注:其中不仅显示年、月、日、时间,还显示周几和已经打开页面的时间(单位:毫秒),使用时可以删除不必要的参数,见笑。
漏了一句:动态文本的名称-time_text,动态文本的变量名-mytime
谢谢 adam.wu!!!我设计的程序中,就是少了onEnterFrame=function(){}语句。现在可以了。非常感谢!!!!!!!!!!!!!!!
----------------------------------------------------------------------------------------->>>
temp=var i = -1;
_root.createTextField("m_txt", 0, 20, 200, 500, 40);//建立个文本 var my_lv = new LoadVars();
my_lv.onLoad = function(success) {//载入的判断
if (success) {
trace(my_lv.temp);
run();//如果成功载入就执行自定义的run方法
} else {
stop();
}
};
my_lv.load("sample.txt");//载入外部文本
function run() {
onEnterFrame = function () {//自定义的文字显示方法
if (++i<=my_lv.temp.length) {
m_temp = my_lv.temp.substr(i, 1);
m_txt.text += m_temp;
} else {
delete onEnterFrame;
}
};
}var i = -1;
_root.createTextField("m_txt", 0, 20, 200, 500, 40);//建立个文本 var my_lv = new LoadVars();
my_lv.onLoad = function(success) {//载入的判断
if (success) {
trace(my_lv.temp);
run();//如果成功载入就执行自定义的run方法
} else {
stop();
}
};
my_lv.load("sample.txt");//载入外部文本
function run() {
onEnterFrame = function () {//自定义的文字显示方法
if (++i<=my_lv.temp.length) {
m_temp = my_lv.temp.substr(i, 1);
m_txt.text += m_temp;
} else {
delete onEnterFrame;
}
};
}var i = -1;
_root.createTextField("m_txt", 0, 20, 200, 500, 40);//建立个文本 var my_lv = new LoadVars();
my_lv.onLoad = function(success) {//载入的判断
if (success) {
trace(my_lv.temp);
run();//如果成功载入就执行自定义的run方法
} else {
stop();
}
};
my_lv.load("sample.txt");//载入外部文本
function run() {
onEnterFrame = function () {//自定义的文字显示方法
if (++i<=my_lv.temp.length) {
m_temp = my_lv.temp.substr(i, 1);
m_txt.text += m_temp;
} else {
delete onEnterFrame;
}
};
}
-------------------------------------------------------------------------------------》》
问一下,假设我要做下雪的场景,用AS做,怎么才能控制第几侦开始下,第几侦结束.答对一定给分
要在第几帧下,就在第几帧创建你的mc,
要在哪一帧停,就在哪帧把它remove。
雪花的MC名是mc_xue
在mc_xue这个MC上加如下代码:
onClipEvent (load)
{
d_y = int(_yscale / 50) + 3;
d_x = -random(int(_yscale / 30));
d_rotation = -10 + random(20);
}
onClipEvent (enterFrame)
{
_y = _y + d_y;
_x = _x + d_x;
_rotation = _rotation + d_rotation;
if (_y > 100)
{
_y = 0;
} // end if
if (_x < 0)
{
_x = 100;
} // end if
}
在需要下雪的帧加如下代码(当然这帧也要加mc_xue这个MC):
for (k = 0; k <= 30; k++)
{
duplicateMovieClip("mc_xue", "mc_xue" + k, k);
with (eval("mc_xue" + k))
{
_x = random(120);
_y = random(100);
_alpha = random(50) + 50;
i = random(80) + 20;
_xscale = i;
_yscale = i;
} // End of with
}
在要停止的帧加如下代码:
for (k = 0; k <= 100; k++)
{
removeMovieClip("mc_xue" + k);
} // end of for
removeMovieClip("mc_xue");
-------------------------------------------------------------------------------->>>
有关复制MC(解决了定加分)
我想制作一下下雨的效果!
首先做一个向下落的雨滴MC名为rain,有20帧,我想用duplicateMovieClip在主场景中复制很多的雨滴,位置随机,但做出来场景中只有MC:rain的第一帧在不断的闪,请问这个动画怎么做?
请高手解答详细一些,付出会有收获的(一定加分)
把你的方法说详细点。
最好代码贴出来。
复制mc的深度有否设好?
for (n = 10; n < 100; n++)//复制100个
{
duplicateMovieClip("rain", "rain" + n, n);//新名和深度
setProperty("rain" + n, _x, random(550));//X轴坐标
setProperty("rain" + n, _y, random(400));//Y轴坐标
setProperty("rain" + n, _alpha, random(20) + 80);//透明度
setProperty("rain" + n, _xscale, 40 + Number(random(100)));//宽度比例
setProperty("rain" + n, _yscale, 40 + Number(random(100)));//高度比例
} // end of for
你把你做好的MC放到主场景中,点选该MC,把上述代码加上就能复制100个雨点,不过分层太明显,你的MC中如果多几个雨点的补间动画,并且上下错开就能弥补。
MC在第一层的第一帧,AS加在第二层的第一帧。
是不是你那个实例名称没有写啊,我第一次做的时候也是这样的,后来一查,原来是"实例名称"没有写,
试试看啊!
-------------------------------------------------------------------------------------------->>>>>
一个鼠标移动特效
点击浏览该文件
点击浏览该文件
此特效可以用作烟雾效果,残影效果
简单介绍一下制作方法
首先先要做一个特效元件,这里用的是多边形
然后在此元件内添加代码:
_alpha=100//初始:当前MC透明度为100
this.onEnterFrame=function(){
_rotation+=30//旋转
if(_alpha>0){
_alpha-=5//如果透明度>0则,每次透明度参数-5
}else{
this.removeMovieClip()//否则删除此MC(当透明度为0的时候)
}
}
之后在主场景加入如下代码:
var i=0//初始i
someListener = new Object();//建立新对象
someListener.onMouseMove = function () {//鼠标移动时
_root.attachMovie("man","man"+i,i++)//复制库中为“man"的MC到场景中命名为“man”+i
_root["man"+i]._x=_root._xmouse//新MC的X轴位置位于鼠标的X轴位置
_root["man"+i]._y=_root._ymouse//新MC的Y轴位置位于鼠标的Y轴位置
_root["man"+i]._height=random(30)+5//设置随机大小(高)
_root["man"+i]._width=random(30)+5//设置随机大小(宽)
if(i>200)i=0//如果i>200,则还原为0
};
Mouse.addListener(someListener);//建立鼠标侦听对象
这样就好了,很简单的一个特效
---------------------------------------------------------------------------------------------->>>>
FLASH AS的参数列表 [精华]
龙眼AM
百事可乐
--------------------------------------------------------------------------------
CGerCN单词通: premiere [pri5mjZE] n.首次公演
基本 Action。包括:
- Go to 跳转到指定的帧
- Play 播放
- Stop 停止
- Toggle High Quality 在高画质和低画质间切换
- Stop All Sounds 停止所有声音的播放
- Get URL 跳转至某个超联结
- FSCommand 发送FSCommand命令
- Load Movie 装载影片
- Unload Movie 卸载影片
- Tell Target 告知目标
- If Frame Is Loaded ..判断帧是否被完全载入
- On Mouse Event 鼠标事件
。其他Actions。包括:
- break 跳出循环
- call 调用指定帧(一般喊有某个特定函数)
- comment 注释
- continue 继续循环
- delete 删除一个对象(Object)中的变量
- do while do while循环
- duplicateMovieClip 复制MC
- else 否则(与if联用)
- else if 否则如果(与if联用)
- evaluate 调用自定义函数(Function)
- for for循环
- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素
- FSCommand 发送FSCommand命令
- function 声明自定义函数
- getURL 跳转至某个超联结
- goto 跳转到指定的帧
- if 如果
- ifFrameLoaded ..帧是否完全被载入
- include 读入外部的ActionScript程序文件(.as)
- loadMovie 装载MC
- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值
- on 鼠标事件的触发条件
- onClipEvent MC的事件触发程序
- play 播放
- print 输出到打印机
- removeMovieClip 删除MC
- return 在函数(function)中返回一个值
- set variable 设定变量值
- setProperty 设定属性
- startDrag 开始拖动
- stop 停止
- stopAllSounds 停止所有声音的播放
- stopDrag 停止拖动
- swapDepths 交换两个MC的深度
- tellTarget 指定Action命令生效的目标
- toggleHighQuality 在高画质和低画质间切换
- trace 跟踪调试
- unloadMovie 卸载MC
- var 声明局部变量
- while 当..成立时..
- with 对..对象(Object)做..
。操作符( Operators)
- ! 逻辑非操作
- != 不等于
- "" 字符串
- % 取余数
- && 逻辑与操作
- () 括号
- * 乘号
- + 加号
- ++ 变量自加一
- - 减号
- -- 变量自减一
- / 除号
- < 小于
- <= 小于等于
- <> 不等于
- == 相等
- > 大于
- >= 大于等于
- and 逻辑与
- not 逻辑非
- or 逻辑或
- typeof 返回变量类型
- void 实体,无返回
- | | 逻辑或操作
+ Bitwise Operators 位操作符
- & 位与操作
- << 位左移
- >> 位右移
- >>> 位右移(无符号)
- ^ 位异或操作
- | 位或操作
- ~ 补位操作
+ Compound Assign Operators 复合操作符
- %= A%=B 等效于 A=A%B
- &= A&=B 等效于 A=A&B
- *= A*=B 等效于 A=A*B
- += A+=B 等效于 A=A+B
- -= A-=B 等效于 A=A-B
- /= A/=B 等效于 A=A/B
- <<= A<<=B 等效于 A=A<<B
- >>= A>>=B 等效于 A=A>>B
- >>>= A>>>=B 等效于 A=A>>>B
- ^= A^=B 等效于 A=A^B
- |= A|=B 等效于 A=A|B
+ String Operators 字符串操作符(注:实质上是ASCII的比较)
- add 连接两个字符串
- eq A eq B 字符串A值与字符串值B相等
- ge A ge B 字符串A值大于等于字符串B值
- gt A gt B 字符串A值大于字符串B值
- le A le B 字符串A值小于等于字符串B值
- lt A lt B 字符串A值小于字符串B值
- ne A ne B 字符串A值不等于字符串B值
+ Functions 函数
- Boolean 取表达式的布尔值(True 或 False)
- escape 除去URL串中的非法字符,将其参数按照URL编码的格式转化为字符串(String)
- eval 访问并计算表达式(expression)的值,并以字符串(String)的形式返回该值
- false 布尔非值(0)
- getProperty 获取属性
- getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)
- getVersion 获取浏览器的FLASHPlayer的版本号
- globalToLocal 场景(Scene)中的坐标转换成MC中的坐标
- hitTest 测试一个点或者MC是否同另一个交叉(即冲突检测)
- int 把十进制数值强制转换成整数
- isFinite 测试数值是否为有限数
- isNaN 测试是否为非数值
- keycode 返回键盘按下键的键盘值(ASCII值)
- localToGlobal MC中的坐标转换成场景(Scene)中的坐标
- maxscroll 文本框的最大行度
- newline 换行符
- Number 将参数转换成数值其返回值有以下四种情况:
如果 x 为一数字,则返回值即为该数字;如果 x 为一布尔数,则返回0或1;如果 x 为一字符串,则函数将x解释为一个指数形式的十进制数;如果x未定义,则返回0。
- parseFloat 将字符串转换成浮点数
- parseInt 将字符串转换成整数
- random 产生0到指定数间的随机数
- scroll 文本框中的起始滚动行
- String 将参数转换成字符串
- targetPath 返回指定实例MC的路径字符串
- true 布尔是值(1)
- unescape 保留字符串中的%XX格式的十六进制字符
+ String Functions 字符串函数
- chr 将ASCII码转换成相应字符
- length 返回字符串的长度
- mbchr 将ASCII/S-JIS编码转换成相应的多字节字符
- mblength 返回多字节字符串的长度
- mbord 将多字节字符转换成相应的ASCII/S-JIS编码
- mbsubstring 截取多字节字符串中的字串
- ord 将字符转换成ASCII码
- substring 截取字符串中的子串
+ Properties 属性
- _alpha Alpha值(透明度值)
- _currentframe 在MC中的当前帧数
- _droptarget 当使用Start drag拖动一个MC时,实时地返回该MC的绝对路径
- _focusrect 高亮按钮或者某个当前区域的显示与否(True显示/Flase不显示)
- _framesloaded 已载入的影帧数
- _height MC的高度
- _highquality 画质的高低(True高画质/False低画质)
- _name MC的实例名
- _quality 当前画质(字符串值) LOW,MEDIUM,HIGH,BEST
- _rotation MC旋转的角度(单位:度)
- _soundbuftime 声音的缓冲区大小(默认值5,单位:秒)
- _target MC的路径
- _totalframes 总帧数
- _url 电影被调用的URL地址
- _visible 是否可视(True可视/False不可视)
- _width MC的宽度
- _x MC的x坐标
- _xmouse 鼠标的x坐标
- _xscale MC的X轴向缩放度
- _y MC的y坐标
- _ymouse 鼠标的y坐标
- _yscale MC的y轴向缩放度
+ Objects 对象
+ Array 数组
- concat 合并多个数组
- join 将一个数组中的元素转化成字符串,并通过特定的分割符进行联结,并返回结果字符串
- length 返回数组长度
- new Array 新建数组对象
- pop 出栈 (FILO 先入后出)
- push 入栈 (入队列)
- reverse 反相(颠倒数组,及第一个元素和最后一个元素互换……)
- shift 出队列 (FIFO 先入先出)
- slice 截取数组中的子串生成新的数组
- sort 数组元素的排序
- splice 从数组中指定元素起删除指定个数的元素或者删除指定元素
- unshift 从数组头部插入一个元素
+ Boolean 布尔对象
- new Boolean 新建布尔型对象
- toString 将布尔型对象的值转换成字符串值
- valueOf 获取布尔型对象的值(返回值为布尔型)
+ Color 颜色对象
- getRGB 获取颜色值的RGB分量(返回值0xRRGGBB十六进制)
- getTransform 获取颜色值的转换量(返回值 cxform 型) [不太清楚]
- new Color 新建一颜色对象
- setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)
- setTransform 设置颜色值的转换量(参数为 cxform 型) [不太清楚]
+ Date 时间和日期对象
- getDate 获取当前日期(本月的几号)
- getDay 获取今天是星期几(0-Sunday,1-Monday...)
- getFullYear 获取当前年份(四位数字)
- getHours 获取当前小时数(24小时制,0-23)
- getMilliseconds 获取当前毫秒数
- getMinutes 获取当前分钟数
- getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb...)
- getSeconds 获取当前秒数
- getTime 获取UTC格式的从1970.1.1 0:00以来的秒数
- getTimezoneOffset 获取当前时间和UTC格式的偏移值(以分钟为单位)
- getUTCDate 获取UTC格式的当前日期(本月的几号)
- getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday...)
- getUTCFullYear 获取UTC格式的当前年份(四位数字)
- getUTCHours 获取UTC格式的当前小时数(24小时制,0-23)
- getUTCMilliseconds 获取UTC格式的当前毫秒数
- getUTCMinutes 获取UTC格式的当前分钟数
- getUTCMonth 获取UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)
- getUTCSeconds 获取UTC格式的当前秒数
- getYear 获取当前缩写年份(当前年份减去1900)
- new Date 新建日期时间对象
- setDate 设置当前日期(本月的几号)
- setFullYear 设置当前年份(四位数字)
- setHours 设置当前小时数(24小时制,0-23)
- setMilliseconds 设置当前毫秒数
- setMinutes 设置当前分钟数
- setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb...)
- setSeconds 设置当前秒数
- setTime 设置UTC格式的从1970.1.1 0:00以来的秒数
- setUTCDate 设置UTC格式的当前日期(本月的几号)
- setUTCFullYear 设置UTC格式的当前年份(四位数字)
- setUTCHours 设置UTC格式的当前小时数(24小时制,0-23)
- setUTCMilliseconds 设置UTC格式的当前毫秒数
- setUTCMinutes 设置UTC格式的当前分钟数
- setUTCMonth 设置UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)
- setUTCSeconds 设置UTC格式的当前秒数
- setYear 设置当前缩写年份(当前年份减去1900)
- toString 将日期时间值转换成"日期/时间"形式的字符串值
- UTC 返回指定的UTC格式日期时间的固定时间值
+ Key 键盘对象
- BACKSPACE Backspace(<键
- CAPSLOCK CapsLock键
- CONTROL Ctrl键
- DELETEKEY Delete(Del)键
- DOWN 方向下键
- END End键
- ENTER Enter(回车)键
- ESCAPE Esc键
- getAscii 获取最后一个按下或松开的键的对应字符的Ascii码
- getCode 获取最后一个被按下的键的键盘扫描码
- HOME Home键
- INSERT Insert(Ins)键
- isDown 当指定键被按下时返回True值
- isToggled 当Caps lock或者Num Lock键被锁定时返回真(True)
- LEFT 方向左键
- PGDN PageDown(PGDN)键
- PGUP PageUp(PGUP)键
- RIGHT 方向右键
- SHIFT Shift键
- SPACE 空格键
- TAB Tab键
- UP 方向上键
+ Math 数学函数对象
- abs abs 取n的绝对值
- acos acos n的反余弦(返回值单位:弧度)
- asin asin n的反正弦(返回值单位:弧度)
- atan atan n的反正切(返回值单位:弧度)
- atan2 atan2(x,y) 计算x/y的反正切
- ceil ceil 取靠近n的上限的整数(向上取整)
- cos cos 取n的余弦(n的单位:弧度)
- E Euler(欧拉)指数(约为2.718)
- exp 指数
- floor floor 取靠近n的下限的整数(向下取整)
- LN10 ln10(约等于2.302)
- LN2 ln2(约等于0.693)
- log 取自然对数(e为底)
- LOG10E 10为底取E的对数(约等于0.434)
- LOG2E 2为底取E的对数(约等于1.443)
- max 返回两参数中的最大值
- min 返回两参数中的最小值
- PI 圆周率(约等于3.14159)
- pow pow(x,y) x的y次方
- random 产生0-1间的随机数
- round 四舍五入取整
展开阅读全文