Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件
2009-09-07 00:00:00 来源:WEB开发网AS3.0 类的编写 (不使用库元件)
在上一讲中我们使用的是已创建好的影片剪辑,并在库中做类的链接,这对有复杂图形的创作是比较好的选择,如果你能熟练的应用绘图API绘制出你想要的任意图形,就可以不使用库元件,直接在类中编写。下面我们用这种方式编写类代码:
创建一个DocumentClass类(创建100个随机摆放的圆)
1. 代码:
2.
3. package {
4.
5. import flash.display.MovieClip;
6. public class DocumentClass extends MovieClip {
7. // 属性
8. private var _circle:Drag_circle;
9. private const maxBalls:int = 100;
10. // 构造函数
11. public function DocumentClass() {
12.
13. var i:int;
14. // 循环创建小球
15. for(i = 0; i<= maxBalls; i++) {
16. // 创建可拖动小球的实例
17. _circle = new Drag_circle();
18. // 设置小球实例的一些属性
19. _circle.scaleY = _circle.scaleX = Math.random();
20. // 场景中的x,y位置
21. _circle.x = Math.round(Math.random() *(stage.stageWidth - _circle.width));
22. _circle.y = Math.round(Math.random() *(stage.stageHeight - _circle.height));
23. // 在场景上显示
24. addChild(_circle);
25. }
26. }
27. }
28. }
Drag_circle类 (绘制一个红色的圆,有拖拽功能)
1. 代码:
2.
3. package {
4.
5. import flash.display.Sprite;
6. import flash.display.Shape;
7. import flash.events.MouseEvent;
8.
9. public class Drag_circle extends Sprite {
10.
11. private var _circle:Sprite;
12.
13. public function Drag_circle() {
14.
15. _circle = new Sprite();
16. _circle.graphics.beginFill(0xff0000);
17. _circle.graphics.drawCircle(0, 0, 10);
18. _circle.graphics.endFill();
19. _circle.buttonMode = true;
20. addChild(_circle);
21.
22.
23. _circle.addEventListener(MouseEvent.CLICK,onClick);
24. _circle.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
25. _circle.addEventListener(MouseEvent.MOUSE_UP,onUp);
26.
27. }
28.
29.
30. private function onClick(event:MouseEvent):void {
31. trace("circle clicked");
32. }
33.
34. private function onDown(event:MouseEvent):void {
35. _circle.startDrag();
36. }
37.
38. private function onUp(event:MouseEvent):void {
39. _circle.stopDrag();
40. }
41. }
42. }
新建一个fla文件,保存在Document.as和Drag_class.as类同一目录中。注意:与上回讲的元件类不同在于,不再需要让场景中有任何内容,因为我们已在主类DocumentClass.as中动态的添加和显示了circle_mc。在属性面板中的文档类输入框中输入类名 DocumentClass,就可以测试了。(你可以尝试着给小球加入随机颜色或渐变颜色)
- ››asp.net页面弄成伪静态页面
- ››Asp.net 中将汉字转换成拼音的方法
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
更多精彩
赞助商链接