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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash AS3.0教程:类的编写之不使用库元件的所有评论