请教ActionScript 3.0 中的问题
我刚刚学习flash,但过程中不明白的是,actionscript3.0中的所有实现都是通过类的对象吗?那么事件处理函数呢?是否可以摒弃2.0的那些按钮事件啊之类的,用3...
我刚刚学习flash,但过程中不明白的是,actionscript 3.0中的所有实现都是通过类的对象吗?那么事件处理函数呢?是否可以摒弃 2.0的那些按钮事件啊之类的,用3.0完全可以搞定?谢谢了
展开
1个回答
展开全部
3.0完全可以搞定的,3.0 有 flash.events.*这个事件包,里边有各种事件类,包括鼠标事件,键盘事件等。
3.0中用button 有我知道的三种方式:
第一种是可见式的:
用flash 制作一个button, 然后从库中拖出来,放在你打算放的地方,然后起实例名,比如起为btn_test。接着就可以在时间轴上添加代码来控制此button实例了。这跟as 2.0 有点像。
代码示例:
import flash.events.MouseEvent;
btn_test.addEventListener(MouseEvent.MOUSE_CLICK, testClick);
function testClick(e:mouseEvent):void{
trace("在这里添加鼠标单击此按钮时的响应动作");
trace("比如我要暂停xx影片剪辑的播放");
trace("比如我要开始某个视频的播放");
}
其中MouseEvent 还有MouseEvent.MOUSE_DOWN,
MouseEvent.MOUSE_UP,
MouseEvent.MOUSE_OVER,
MouseEvent.MOUSE_OUT,
MouseEvent.ROLL_OVER,
MouseEvent.ROLL_OUT,
MouseEvent.DOUBLE_CLICK
等其他动作,看实际需要。
testClick 是响应函数,用来响应MouseEvent.***事件的(示例中是CLICK事件),
第二种方式是让button元件与某个类关联起来。
做法:在库中右键点button元件,选择属性,把"为actionScript导出","在第一帧导出" 勾上,
下面的类名自己按需要取名,比如取为TestButton, 基类不用管,默认基类应该为
flash.display.SimpleButton。(还可以和自定义的类相关联,这里不讲)
然后在你想用的地方的时间轴上添加代码, 如下
import flash.events.MouseEvent;
var testBtn:TestButton = new TestButton();
testBtn.x = 100;
testBtn.y = 100;
addChild(testBtn);
testBtn.addEventListener(MouseEvent.MOUSE_CLICK, testClick);
function testClick(e:mouseEvent):void{
trace("在这里添加鼠标单击此按钮时的响应动作");
trace("比如我要暂停xx影片剪辑的播放");
trace("比如我要开始某个视频的播放");
}
这里我们通过new 来创建button实例,然后设置x,y坐标, 然后用addChid()来将这个按钮添加到其父对象里,而不用从库中手动拖出来。
第三种方式是纯代码的,应该是as3.0所推崇的方式。
做法: 自己创建一个继承自SimpleButton类的类, 然后按需要,分别赋值给SimpleButton类的四种状态(upState, downState, overState, hitTestState),都是DisplayObject。按需要添加各种MouseEvent事件和处理函数,类似于上面的做法。
创建完后,在用到的类中new出来,addChild()进去就行了。通过文档类来完成显示。具体就不说了,想说也说不完。想学自己找书籍去。
3.0中用button 有我知道的三种方式:
第一种是可见式的:
用flash 制作一个button, 然后从库中拖出来,放在你打算放的地方,然后起实例名,比如起为btn_test。接着就可以在时间轴上添加代码来控制此button实例了。这跟as 2.0 有点像。
代码示例:
import flash.events.MouseEvent;
btn_test.addEventListener(MouseEvent.MOUSE_CLICK, testClick);
function testClick(e:mouseEvent):void{
trace("在这里添加鼠标单击此按钮时的响应动作");
trace("比如我要暂停xx影片剪辑的播放");
trace("比如我要开始某个视频的播放");
}
其中MouseEvent 还有MouseEvent.MOUSE_DOWN,
MouseEvent.MOUSE_UP,
MouseEvent.MOUSE_OVER,
MouseEvent.MOUSE_OUT,
MouseEvent.ROLL_OVER,
MouseEvent.ROLL_OUT,
MouseEvent.DOUBLE_CLICK
等其他动作,看实际需要。
testClick 是响应函数,用来响应MouseEvent.***事件的(示例中是CLICK事件),
第二种方式是让button元件与某个类关联起来。
做法:在库中右键点button元件,选择属性,把"为actionScript导出","在第一帧导出" 勾上,
下面的类名自己按需要取名,比如取为TestButton, 基类不用管,默认基类应该为
flash.display.SimpleButton。(还可以和自定义的类相关联,这里不讲)
然后在你想用的地方的时间轴上添加代码, 如下
import flash.events.MouseEvent;
var testBtn:TestButton = new TestButton();
testBtn.x = 100;
testBtn.y = 100;
addChild(testBtn);
testBtn.addEventListener(MouseEvent.MOUSE_CLICK, testClick);
function testClick(e:mouseEvent):void{
trace("在这里添加鼠标单击此按钮时的响应动作");
trace("比如我要暂停xx影片剪辑的播放");
trace("比如我要开始某个视频的播放");
}
这里我们通过new 来创建button实例,然后设置x,y坐标, 然后用addChid()来将这个按钮添加到其父对象里,而不用从库中手动拖出来。
第三种方式是纯代码的,应该是as3.0所推崇的方式。
做法: 自己创建一个继承自SimpleButton类的类, 然后按需要,分别赋值给SimpleButton类的四种状态(upState, downState, overState, hitTestState),都是DisplayObject。按需要添加各种MouseEvent事件和处理函数,类似于上面的做法。
创建完后,在用到的类中new出来,addChild()进去就行了。通过文档类来完成显示。具体就不说了,想说也说不完。想学自己找书籍去。
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询