快速业务通道

Flash AS3.0教程:类的编写之不使用库元件

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

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,就可以测试了。(你可以尝试着给小球加入随机颜色或渐变颜色) 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号