资源描述:
《基于flash技术的虚拟仿真实验开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、人工智能及识别技术本栏目责任编辑:李桂瑾基于FLASH技术的虚拟仿真实验开发王琳,吉逸(东南大学,江苏南京211189)摘要:虚拟仿真实验的应用可以提高学生对实验的熟悉程度,弥补实际实验室硬件条件的局限,提高教学效果,促进教学改革。文章以物理天平的模拟调节实验为例,介绍了面向对象编程的特点,以及如何利用FLASH进行面向对象的虚拟仿真实验开发。关键词:FLASH;面向对象编程;虚拟仿真实验;物理天平中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)17-31438-03Dev
2、elopmentofVirtualSimulateExperimentBasedonFlashWANGLin,JIYi(SoutheastUniversity,Nanjing211189,China)Abstract:Theapplicationofvirtualsimulateexperimentcanhelpstudentsfamiliarizetheexperiment,offsetthedeficiencyofthehardwareinthelaboratory,improvetheeffec
3、tofteachingandstudy,andacceleratetheinnovationofteaching.Bytheexampleofsimulatemeasureofphysicalbalance,thearticleintroducethecharacteristicofobject-orientedprogrammingandtheobject-orienteddevelopmentofvirtualsimulateexperimentbasedonflash.Keywords:Flas
4、h;Object-orientedProgramming;VirtualSimulateExperiment;PhysicalBalance1引言象编程较之于过程性编程有开发流程清晰、编程容易、维护容易、虚拟仿真实验利用计算机网络技术和多媒体技术对实验项目程序健壮性强等特点。进行仿真,仿真实验系统应能提供简单通用的交互界面,能准确地计算并模拟实际实验状态和仪器操作状态,能正确地分析判断用户的操作流程,对用户不当操作进行屏蔽或提示,并能支持在网络上的应用。基于以上一些特点,使得仿真实验的开发相对比较困难
5、,制作周期长。笔者多年来一直致力于仿真实验方面的工作,尝试过数种开发软件,总结发现FLASH开发出的软件文件小、画面形象、交互性强、支持流媒体,同时开发方法也较容易掌握。就目前市场上而言,大多数基于FLASH的教学软件还仅仅图1外界如何改变对象的属性停留在利用FLASH强大的动画功能,制作形象生动的演示型课2.2对象间的通信件。其实到了FLASHMX2004以后,FLASH已显示了强大的编程通信在面向对象的编程中很重要,对象彼此要通知对方何时功能,完全能够轻松开发出交互性极强的虚拟仿真软件。本文将开始
6、工作,何时工作已经完成;当对象间的数据不能实时传递,有以物理天平的模拟调节为例,介绍如何利用FLASH进行面向对异步要求时需要通信;当一个对象要通知多个对象时需要通信。象虚拟仿真实验的开发。对象分为两种身份,一种是通知者,称为主题(Subject);另一2面向对象的FLASH编程种是被通知者,称为观察者(Object)。要想成为主题的观察者,是2.1面向对象编程的特点通过向主题注册。当主题发出广播时,所有观察者就会收到通知。从FLASHMX2004开始出现了ActionScript2.0,这是一个完主
7、题发出广播就是一个消息,观察者根据收到的消息名称执行特全基于面向对象编程(Object-OrientedProgramming)的编程语言。定的程序。面向对象编程中最重要的概念是“对象”,它是一个自我包含的个在Flash中消息由作为主题的MovieClip发出,并可以由体,可以说现实世界中任何东西其实都是一个对象。每个对象都TimeLine获得;接收的MovieClip注册为观察者后对时间轴进行会有一些状态或信息,也就是对象中的变量,在面向对象编程中侦听,一旦主题发出广播,观察者就可以捕获到。如图2所
8、示。就叫做“属性”,而“方法”就是用来读取或修改“属性”的。每个对象只可以管理自己的属性,而不应该让外界直接读取或修改对象的属性,这就是“封装”。外界可以调用对象的方法来调整对象的数据。利用封装的好处就是使编程寻找错误更加容易,更可以避免因为数据改变而影响其他程序。外界改变对象的属性,可以通过对象自己提供的方法:公共方法和隐式获取/设置方法。如图1所示。图2带有消息的对象两者都是属性对象里的方法,区别是,前者除了可以用来改FLASHMX2004中内置了一