Flash中this的用法
|
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-28 12:59:30
|
这篇文章不能解决你的问题?我们还有相关视频教程云课堂 全套前端开发工程师培训课程 微信号:yyjcw10000 QQ:1416759661 远程协助需要加QQ! 业务范围:视频教程|程序开发|在线解答|Demo制作|远程调试| 点击查看相关的视频教程。 技术范围:全端开发/前端开发/webapp/web服务/接口开发/单片机/C#/java/node/sql server/mysql/mongodb/android/。
|
引用对象或影片剪辑实例。
1、在附加到按钮的 on 事件处理函数动作中,this 引用包含该按钮的时间轴。
实例1-1:在舞台上放一个按钮。在跟时间轴上定义一个变量var i:Number=0 ,在按钮上输入下列语句
on(press){
trace(this)//输出的结果将是_level0,就是说这里的this就是对根时间轴的引用
trace(this.i)//输出的将是0
}
实例1-2:在舞台上放一个MC。并且输入实例名my_mc ,在该MC中放一个按钮,在跟时间轴上定义一个变量var i:Number=0 ,在按钮上输入下列语句
on(press){
trace(this)//输出的结果将是_level0.mc,就是说这里的this就是对根时间轴的mc对象的时间轴的引用。
trace(this.i)//输出的将是undefined,因为该MC的时间轴没有定义i
}
强调:在附加到按钮的 on 事件处理函数动作中,this 引用包含该按钮的时间轴
2、在附加到影片剪辑的on() onClipEvent()事件件处理函数动作中,this 引用该影片剪辑自身的时间轴。
实例2-1:在舞台上放一个MC,并且输入实例名my_mc,为该MC附加以下动作:
on(press){
trace(this)//输出的的将是_level0.mc,说明this是MC本身,而非_level0说明附加到MC的on()句柄与附加到button的on()句柄是不同的
}
实例2-2:在舞台上放一个mc,并且输入实例名为my_mc ,为该MC附加以下动作:
onClipEvent(load){
trace(this)//输出_level0.mc,说明现在的this是MC本身
}
//继续输入下列语句
onClipEvent(enterFrame){
this._x+=2//现在MC向右运动了,何也?因为this是mc本身
}
3、按钮事件写在桢上。{}中的thsi指向按纽本身
实例3-1 在舞台上放一个按钮,并且输入实例名button,在桢上输入以下动作:
button.(){
trace(this)//输出的是_level0.button,而非_level0,说明写在桢上与写在按钮上是不同的
}
实例3-2 在舞台上放10个按钮,并且输入实例名button0....10,在桢上输入以下动作:
this["button"+i].(){//最前面的这个this指根时间轴_level0, 用this的原因是因为要引用button, 这个是必须的,而实例3-1也可以this.button.(),但往往我们可以省略.
trace(this)//现在是点击哪个MC,输出哪个MC,因为this是指向this["button"+i]
}
4、MC事件写在桢上。同按钮事件写在桢上是一样的。
5、定义的函数中的this,指向函数所在的时间轴。
实例5-1 在桢上输入下列动作
function go(){
var i=0
trace(this)//输出的将是_level0,因为函数go就在跟时间轴
trace(this.i)// 输出的将是undefined,因为i是局部变量,只在本语句块有效,不可以访问
}
go()
另外:利用this还可以告知我们路经,比如用ScrollPane组件,用该组件显示一张图片,打算在跟时间轴上控制该图片的透明度,但不明确该图片MC的路径,就可以用this测试一下。
|
|
热门服务/教程目录
|
客服电话:153 9760 0032
购买教程QQ:1416759661
|
|
|