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

黑心ok

黑心ok

2016-01-29 12:15

Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件,本例为Flash AS 3.0菜鸟学飞系列教程,在上一讲中我们使用的是已创建好的影片剪辑,并在库中做类的链接,这对有复杂图形的创作是比较好的选择,如果你能熟练的应用绘图API绘制出你想要的任意图形,就可以不使用库元件,直接在类中编写。

本文由 中国 cao4811 原创,转载请保留此信息!

本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 

在学习中遇到问题请到 论坛 发贴交流!

 

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类 (绘制一个红色的圆,有拖拽功能)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

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. }

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

新建一个fla文件,保存在Document.as和Drag_class.as类同一目录中。注意:与上回讲的元件类不同在于,不再需要让场景中有任何内容,因为我们已在主类DocumentClass.as中动态的添加和显示了circle_mc。在属性面板中的文档类输入框中输入类名 DocumentClass,就可以测试了。(你可以尝试着给小球加入随机颜色或渐变颜色)

展开更多 50%)
分享

猜你喜欢

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

flash教程
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件

Flash AS3.0菜鸟学飞教程:创建MovieClip类

flash教程
Flash AS3.0菜鸟学飞教程:创建MovieClip类

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Flash AS3.0菜鸟学飞教程:创建Bitmap类

flash教程
Flash AS3.0菜鸟学飞教程:创建Bitmap类

Flash AS3.0菜鸟学飞教程:函数的引用

flash教程
Flash AS3.0菜鸟学飞教程:函数的引用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Flash AS3.0菜鸟学飞教程:创建自定义类

flash教程
Flash AS3.0菜鸟学飞教程:创建自定义类

Flash AS3.0菜鸟学飞教程:函数之返回语句

flash教程
Flash AS3.0菜鸟学飞教程:函数之返回语句

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

九宫问题(八数码)求解过程动态演示

九宫问题(八数码)求解过程动态演示

《忍者必须死2》破解版修改勾玉刷金币高分攻略

《忍者必须死2》破解版修改勾玉刷金币高分攻略
下拉加载更多内容 ↓