永发信息网

flash告知命令with什么意思

答案:2  悬赏:80  手机版
解决时间 2021-01-23 00:03
flash告知命令with什么意思
最佳答案
用法
with (object) {
statement(s);
}

参数
object 动作脚本对象或影片剪辑的一个实例。

statement(s) 包括在大括号中的一个动作或一组动作。

返回
无。

说明
语句;允许您使用 object 参数指定一个对象(比如影片剪辑),并使用 statement(s) 参数计算该对象中的表达式和动作。这可以使您不必重复书写对象的名称或路径。

object 参数将成为读取 statement(s) 参数中的属性、变量与函数的上下文。例如,如果 object 为 my_array,且指定的属性中有 length 和 concat 这样两个属性,则这些属性将自动作为 my_array.length 和 my_array.concat 进行读取。在另一个示例中,如果 object 为 state.california,则 with 动作中的任何动作或语句将从 california 实例中调用。

查找 statement(s) 参数中某个标识符的值时,动作脚本将从 object 指定的范围链的开头开始查找,并按照特定的顺序在范围链的每个级别中搜索该标识符。

with 动作使用范围链解析标识符,该范围链从下面列表中的第一项开始,一直到最后一项结束:

在最里面的 with 动作的 object 参数中指定的对象。
在最外面的 with 动作的 object 参数中指定的对象。
激活的对象。(当调用函数时自动创建的临时对象,该函数包含函数所调用的局部变量。)
包含当前执行脚本的影片剪辑。
全局对象(诸如 Math 与 String 的内置对象)。
若要在 with 动作中设置变量,该变量必须已在 with 动作外部进行了声明,或者您必须输入该变量所生存时间轴的完整路径。如果在 with 动作中设置了未声明的变量,则 with 动作将根据范围链查找该值。如果该变量尚不存在,则将在调用 with 动作的时间轴上设置此新值。

在 Flash 5 或更高版本中,with 动作替换了已不鼓励使用的 tellTarget 动作。建议您使用 with 而不使用 tellTarget,因为前者是对 ECMA-262 标准的一个标准动作脚本扩展功能。with 动作与 tellTarget 动作的主要区别在于:with 采用对影片剪辑或其它对象的引用作为其参数,而 tellTarget 采用标识影片剪辑的目标路径字符串作为其参数,且不能用于指向对象。

示例
下面的示例设置 someOther_mc 实例的 _x 和 _y 属性,然后指示 someOther_mc 转到第 3 帧并停止。

with (someOther_mc) {
_x = 50;
_y = 100;
gotoAndStop(3);
}

下面的代码片断显示不使用 with 动作如何编写上面的代码。

someOther_mc._x = 50;
someOther_mc._y = 100;
someOther_mc.gotoAndStop(3);

还可使用 tellTarget 动作编写这段代码。但是,如果 someOther_mc 不是影片剪辑,而是一个对象,则不能使用 with 动作。

tellTarget ("someOther_mc") {
_x = 50;
_y = 100;
gotoAndStop(3);
}

with 动作对于同时访问一个范围链列表中的多项十分有用。在下面的示例中,内置 Math 对象被放置在范围链的前面。将 Math 设置为默认对象可以将标识符 cos、sin 和 PI 分别解析为 Math.cos、Math.sin 和 Math.PI。标识符 a、x、y 和 r 不是 Math 对象的方法或属性,但由于它们处于函数 polar() 的对象激活范围内,所以会将它们解析为相应的局部变量。

function polar(r) {
var a, x, y;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI/2);
}
trace("area = " +a);
trace("x = " + x);
trace("y = " + y);
}

可以使用嵌套的 with 动作访问多重范围中的信息。在下面的示例中,实例 fresno 和实例 salinas 是实例 california 的子级。该语句设置 fresno 和 salinas 的 _alpha 值,而不改变 california 的 _alpha 值。

with (california){
with (fresno){
_alpha = 20;
}
with (salinas){
_alpha = 40;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3(x虏-y虏)+y-x
Centos内存占满如何释放内存
西安木塔寺公交车站是那几路车
听说有的养鱼人给淡水鱼喂激素后,鱼就长的快,
在人人说假话的年代讲真话;在人人麻木的年代
哈尔滨要比唐山冷吗?
这是蓝砂石手链价位是多少?
对方拿着我开给他的收条,起诉我问我要钱。
有性感美女吗?
观察雨的作文500字
沙北头村地址好找么,我有些事要过去,
派克酒吧我想知道这个在什么地方
煽情来形容什么比较合适?
剩余污泥泵连续运行还是定期运行?小型污水A&
it is _to take part in a tv programme为题
推荐资讯
丁俊晖2015第三轮比赛时间
我是办理过捷信的客户,劝大家捷信的东西还是
自考本科通过率一般是多少?
汕头华琳文具有限公司有谁去过么?是怎样的呢
派蒙裤业地址在哪,我要去那里办事,
淑女名店(向阳路店)地址在哪,我要去那里办事
东方龙家具城地址在什么地方,我要处理点事!
珠海户口,在珠海买了10年社保,现去中山工作
上海浦东发展银行24小时自助银行(苗圃路185号
指月阁美甲地址好找么,我有些事要过去,
哪位好心朋友知道:像硅胶都有200-300等目数
金甲虫(三店)地址有知道的么?有点事想过去!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?