在使用了很多年的Flash8之后,我开始在工作中使用CS3。我知道我将不得不学习3.0,那么,有没有人有什么好的参考或总结主要的/最引人注目的变化?另外,对于闪存环境有什么提示/窍门吗?在使用CS3几分钟后,我注意到您不能直接将actionscript附加到按钮上,这对我来说是个新鲜事。还有其他类似的陷阱需要注意吗?
发布于 2009-12-10 07:14:42
我在大约3个月前做出了完全的改变,以下是一些帮助我快速提升的东西:
1)在类文件中执行所有操作
有很多AS3教程只处理粘贴在timeline 上的代码(我不能忍受,因为现在你必须寻找你需要的导入),但对于快速的小东西来说是很好的。从长远来看,主要在类文件中工作会更好。学习类是如何工作的为我打开了一扇巨大的大门,这与我第一次发现AS2中的函数时的感觉/体验是一样的:)
2)将图形保存在库中,而不在工作区中
例如,您有一个刚刚导入到库中的jpg、gif、png文件。创建一个movieClip并给它一个类名(MyButton)。现在,下面的代码将为您将图形放入工作区:
var myButton:MovieClip = new MyButton();
myButton.x = 6;
myButton.y = 22;
myButton.buttonMode = true;
addChild(myButton); 3)使用AS3中的新按钮代码
这是我们所有新人都必须痛苦地处理的事情,但现在它是小菜一碟:)
myButton.addEventListener(MouseEvent.MOUSE_UP, clickThis);
function clickThis(event:MouseEvent):void
{
navigateToURL(new URLRequest("form.html"), "_self");
//navigateToURL(request, '_self');
}4)确保在使用后删除事件监听器
我花了点时间才把这个包起来……为什么要删除它们?哦,它们仍然在后台运行,当我再听一次时,我会得到各种各样的变异错误。
private function volDown(e:MouseEvent):void
{
masker.width = volControl.mouseX;
userVolume = (masker.width / 100) * 1;
volControl.addEventListener(MouseEvent.MOUSE_MOVE, volMove);
}
private function volUp(e:MouseEvent):void
{
lastVolPoint = masker.width;
setVolume(userVolume);
e.updateAfterEvent();
volControl.removeEventListener(MouseEvent.MOUSE_MOVE, volMove);
}5)别忘了传递事件
我不是一个程序员,这引起了如此多的悲痛,我很高兴我已经结束了这种分娩的痛苦:
myButton.addEventListener(MouseEvent.MOUSE_UP, clickThis);由于clickThis函数是通过事件启动的,因此您必须像这样将:event:MouseEvent传入其中:
function clickThis(event:MouseEvent):void因为下面的代码将抛出可怕的AS3“访问未定义的属性”错误,这是AS3新手经常会遇到的错误。
function clickThis():void6)阅读并在StackOverflow上发布问题...很多!
顺便说一句,我仍然是一个新手,最初是一个设计师,然后是AS2开发人员,我仍然不知道为什么我们要在函数名后面加上:void。如果我们有相似的编码背景,我希望所有这些都有帮助:)
发布于 2009-12-10 04:40:21
我建议你看看Adobe devnet上的ActionScript language migration page。它提供了相当多关于ActionScript 3的关键变化的文章。
要回答按钮上的操作问题,这不再起作用(而且ActionScript 2已经不是最好的解决方法)。AS3要求代码集中在时间线上。因此,为了给一个按钮一些动作,你需要给它一个实例名,并为CLICK事件添加一个事件侦听器,如下所示:
function doSomething ( event:MouseEvent ):void
{
trace( "test" );
}
myButton.addEventListener( MouseEvent.CLICK, doSomething );发布于 2009-12-10 08:33:30
获取Actionscript 3 IDE。例如闪存生成器、FlashDevlop或FDT。这将迫使你学得非常快。
https://stackoverflow.com/questions/1876665
复制相似问题