论坛首页 编程语言技术论坛

Flex move效果不能将application命名为move.mxml

浏览 2893 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-27   最后修改:2008-12-27
今天要做一个图片显示效果,图片在显示的时候是快速的弹出并急停弹动效果,这个当然要用到mx.effects.Move这个类啦,为了预览效果,我在Flex Builder中建了一个move.mxml application,这是后问题出来了,无论我在这个文件里怎么调用,move 效果就是不出来。

我的代码很简单,具体如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
  <![CDATA[ 
   import mx.effects.easing.*;
  ]]>
</mx:Script>
<mx:Move id="moveDoDo" xBy="150" duration="1000" easingFunction="Bounce.easeOut"/>
<mx:Panel id="palMove" mouseDownEffect="{moveDo}"  x="99" y="188" width="115" height="111"/>
</mx:Application>

刚开始意味move不能在WEB上调用,后来想想,move这么简单的效果,不应该有什么安全性以及效率问题吧,而且记得以前看过一个视频,move 效果就是在web上能跑的,难道是文件名的问题?OK,我就重新见了另外一个文件 moveTest.mxml 然后把上面的代码张贴进去,哈,结果当然是能跑起来了。

那么问题出在什么地方呢?Flex Builder 也没有在move.mxml文件编译的时候提示错误啊。而且我的文件名move 跟 mx.effects.Move 类也不同名啊,至少还有大小写区分。

为了看看到底是什么问题,我建了zoom.mxml 文件然后在该文件里实现了zoom效果,可视发现完全没有问题。

会不会这个是 Flex Builder 的一个bug呢?

没时间继续追究了,反正这个也不是什么打问题,只是觉得奇怪,在此记之,说不定日后明白了可以继续做个解答。

关于移动效果的例子可以看下面

http://www.ilinker.net.cn/flexsameple/moveeffect/movetest.html
  • 大小: 8.8 KB
   发表时间:2008-12-27  
你可以说这是FB的一个bug,不过问题的原因在于move是Application的一个方法,也就是说move这个名字在Application作用域内已经被占用了。你再把它当作类名来用是会出问题的。最好是遵照AS的命名规范,类名统一大写开头,方法统一小写开头,这样可以避免不必要的冲突。
0 请登录后投票
   发表时间:2008-12-27  
treenode 写道

你可以说这是FB的一个bug,不过问题的原因在于move是Application的一个方法,也就是说move这个名字在Application作用域内已经被占用了。你再把它当作类名来用是会出问题的。最好是遵照AS的命名规范,类名统一大写开头,方法统一小写开头,这样可以避免不必要的冲突。


有道理是跟控件的 move 方法有冲突,而不是跟 mx.effects.Move 类名冲突,不过还是个BUG
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics