ActionScript3:RIA开发的新里程

4星 · 超过85%的资源 需积分: 48 8 下载量 43 浏览量 更新于2024-07-23 收藏 5.44MB PDF 举报
"Flash_ActionScript3殿堂之路.pdf" 在深入探讨ActionScript3的知识点之前,首先需要理解RIA(Rich Internet Application)的概念,它是指一类提供丰富用户体验和高度交互性的网络应用。随着网络技术的发展,用户对网页应用的要求不再仅限于简单的文字和图片展示,而是期望更接近桌面应用的体验,这催生了RIA的需求。Flash Player,作为一款广泛安装的插件,因其跨平台的特性,成为了RIA开发的重要工具。 ActionScript3(AS3)是Adobe公司在2006年推出的新版编程语言,与之前的ActionScript2(AS2)相比,有了显著的提升。AS3完全基于ECMAScript(ECMA-262)标准,这使得它成为了一种真正的面向对象的编程语言,具备了类、接口和包等OOP特性。这种转变使得开发者能够构建更为复杂和高效的应用程序。 AS3的显示对象系统进行了彻底更新,提供了更强大和灵活的图形渲染能力。它支持层次结构的显示列表,允许开发者创建复杂的UI组件和动画效果。同时,AS3引入了E4X(ECMAScript for XML),将XML直接集成到语言中,使得处理XML数据变得直观且高效。对于处理大量XML数据的应用来说,这是一个巨大的进步。 在文本处理方面,AS3支持正则表达式,这意味着可以方便地进行字符串的查找、替换和验证,极大地提高了文本处理的能力。此外,AS3还引入了标准的DOM3事件模型,允许开发者更好地管理应用中的事件响应,如点击、滚动等。异常处理机制的加入,使得错误处理更加规范和便捷,有助于提高代码的健壮性。 ActionScript3在Flex和Flash平台上发挥着关键作用,推动了RIA的广泛应用。许多知名公司,如Yahoo、eBay、Google,都利用AS3开发了创新的网络应用,如Yahoo Maps、eBay AIR拍卖程序、Google Analytics和Google Finance等。 ActionScript3通过其强大的面向对象特性、高效的XML处理、丰富的事件模型以及优秀的异常处理机制,为开发富互联网应用提供了坚实的基础。开发者可以通过AS3来创建交互性强、用户体验优秀且功能丰富的网络应用程序。

for (var i = 1; i <= 9; i++) { var img_mc:MovieClip = this["tu" + i]; // 添加点击事件监听器 img_mc.onPress = function() { // 创建该图像的副本,并将其设置为可拖动 var target_mc:MovieClip = this.duplicateMovieClip(this._name + "_copy", _root.getNextHighestDepth()); target_mc.startDrag(); target_mc.onPress = function() { this.startDrag(); }; // 在鼠标移动事件处理程序中,将图像的位置设置为鼠标位置 target_mc.onMouseMove = function() { if(Key.isDown(Key.H)) { // 从舞台上删除该剪辑 this.removeMovieClip(); return; this._x = _root._xmouse; this._y = _root._ymouse; } // 检查图像是否与其他图像重叠,并根据需要更新其透明度 for (var j = 1; j <= 9; j++) { var other_mc:MovieClip = _root["tu" + j]; if (target_mc != other_mc && target_mc.hitTest(other_mc)) { target_mc._alpha = 50; return; } } target_mc._alpha = 100; }; // 在鼠标释放事件处理程序中,检查图像是否与其他图像重叠 target_mc.onRelease = target_mc.onReleaseOutside = function () { this.stopDrag(); this.onMouseMove = null; target_mc.onRelease = target_mc.onReleaseOutside = function () { this.stopDrag(); }; // 检查图像是否与其他图像重叠,并根据需要更新其透明度 for (var j = 1; j <= 9; j++) { var other_mc:MovieClip = _root["tu" + j]; if (target_mc != other_mc && target_mc.hitTest(other_mc)) { target_mc._alpha = 50; return; } } // 将图像放置在当前位置,并将其透明度设置为100% target_mc._alpha = 100; target_mc.swapDepths(_root.getNextHighestDepth()); }; }; }运行时提示没有h的属性 要怎么做

2023-05-24 上传