• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS2.0基础>文章内容
  • FLASH程序开发基础

  • 来源:原创 作者:天雨净世 2008-09-19 【
这里说的程序开发基础不是程序语言基础,语言基础的教程有很多,网上到处都能搜到,我也就不必说了。程序开发基础要说的究竟是什么?我们来了解下什么是程序开发,用程序语言编写软体的过程就是程序开发,可能有更好、更专业的描述,但大家能搞懂意思就是行了。用FLASH程序开发基础为标题,因为我是FLASH程序员,是用AS语言写程序,其他语言有什么高招就是他们的事了。

    废话就不多说了,下面就开始主题。一个程序项目在开发之前应该搞清楚有多少功能块,这些功能块有哪些是可以独立,哪些是需要与其他功能块互交的。独立功能块很简单,写好就能用,需要互交的功能块就复杂点了,在AS2.0里面可以把每个功能块装在一个MC(影片剪辑)里面,如果要访问另一个MC里面的属性,可以用路径直接找到,就象WINDOWS里面找文件一下方便,_root指向主场景,只要知道路径就万事OK,但是这样写程序很混乱,路径写错或忘记是常有的事,而且不方便修改,如果有个MC路径需要改变,指向这个MC的路径都要去改一下,MC太多就只有累死。在AS3.0里面取消了_root指向主场景,很多人就傻眼了,有经验的人就会用功能块类的属性来指向主场景,这样做和AS2.0的区别也不大,至于如何把主场景赋值给属性也是个新手问题,很多人都不知道,这里先不讨论。

 

    如何解决功能块互交的问题,创建功能块管理类,将功能块存放在此类中统一管理,存放方式可以用类属性和数组,使用数组存放应该规定每功能块所在数组单元格,例如:数组[功能块1.ID]=功能块1,这样可以不用考虑路径,对于合作开发也是很有好处的,而且可以演变出多种管理类,统称为管理类。

 

    现在开始程序开发一步,分出引擎和数据,引擎主要有逻辑和算法构成,也就是说引擎就是我们写出来的程序,数据就是项目的描述,例如:图片位置x=100、y=100,引擎根据描述做出相应的处理。很多人会说赋值了x和y的图片自己就会到坐标上,跟引擎有什么关系,AS代码其实是数据,是种描述,flash player是他的引擎,所以我们要写出自己引擎和数据,这里原理比较复杂,解释一下:自定义数据->AS代码->flash player->AS代码->flash player,原理性的东西就不祥解了,这样做的好处:大家都遇到过发布的时候等上很长的时间吧,客户频繁的让修改是不是很痛苦,把数据文件放到外部载入,修改一个数据而已,没什么大不了的。

 

    如何实现引擎和数据,例如:引擎实现表单提交,数据是lable=3,button=1,运行程序后出现3个文本框和1个按钮,引擎代码结构:

  var arr:Array;
  while (arr1.length > 0) {
    arr=arr1[0].split("=");
    for (var i:int=0; i < int(arr[1]); i++) {
      if (arr[0]="lable") {
        createlable();
      } else if (arr[0]="button") {
        createbutton();
      }
    }
  }
  function createlable() {
   //创建一个文本
  }
  function createbutton() {
   //创建一个按钮
  }

数据是应该有一个对应的解析类,这里因为数据简单就直接写的,数据是可以更复杂的,格式也是自己定义的,其他人基本是看不懂,只要解析类够强,让数据象语言一样都可以,FLASH不就是这样的吗,呵呵。

 

    以上均为个人理论,天外有天,人外有人,可能会有其他更好的模式。来点小建议,在开发程序的时候尽可能封装功能类,以后开发此功能直接使用,如果此类在二次使用的时候需要修改的代码比较多,那这个类就可以扔垃圾箱了。




上一篇:FLASH中文本段落格式化方法浅谈   下一篇:没有了
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
推荐内容

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)