首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从闪存8到CS3

从闪存8到CS3
EN

Stack Overflow用户
提问于 2009-12-10 04:29:14
回答 3查看 151关注 0票数 1

在使用了很多年的Flash8之后,我开始在工作中使用CS3。我知道我将不得不学习3.0,那么,有没有人有什么好的参考或总结主要的/最引人注目的变化?另外,对于闪存环境有什么提示/窍门吗?在使用CS3几分钟后,我注意到您不能直接将actionscript附加到按钮上,这对我来说是个新鲜事。还有其他类似的陷阱需要注意吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-10 07:14:42

我在大约3个月前做出了完全的改变,以下是一些帮助我快速提升的东西:

1)在类文件中执行所有操作

有很多AS3教程只处理粘贴在timeline 上的代码(我不能忍受,因为现在你必须寻找你需要的导入),但对于快速的小东西来说是很好的。从长远来看,主要在类文件中工作会更好。学习类是如何工作的为我打开了一扇巨大的大门,这与我第一次发现AS2中的函数时的感觉/体验是一样的:)

2)将图形保存在库中,而不在工作区中

例如,您有一个刚刚导入到库中的jpg、gif、png文件。创建一个movieClip并给它一个类名(MyButton)。现在,下面的代码将为您将图形放入工作区:

代码语言:javascript
复制
var myButton:MovieClip = new MyButton();
    myButton.x = 6;
    myButton.y = 22;
    myButton.buttonMode = true;

addChild(myButton);    

3)使用AS3中的新按钮代码

这是我们所有新人都必须痛苦地处理的事情,但现在它是小菜一碟:)

代码语言:javascript
复制
myButton.addEventListener(MouseEvent.MOUSE_UP, clickThis);

function clickThis(event:MouseEvent):void
        {
            navigateToURL(new URLRequest("form.html"), "_self");
            //navigateToURL(request, '_self');
        }

4)确保在使用后删除事件监听器

我花了点时间才把这个包起来……为什么要删除它们?哦,它们仍然在后台运行,当我再听一次时,我会得到各种各样的变异错误。

代码语言:javascript
复制
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)别忘了传递事件

我不是一个程序员,这引起了如此多的悲痛,我很高兴我已经结束了这种分娩的痛苦:

代码语言:javascript
复制
myButton.addEventListener(MouseEvent.MOUSE_UP, clickThis);

由于clickThis函数是通过事件启动的,因此您必须像这样将:event:MouseEvent传入其中:

代码语言:javascript
复制
function clickThis(event:MouseEvent):void

因为下面的代码将抛出可怕的AS3“访问未定义的属性”错误,这是AS3新手经常会遇到的错误。

代码语言:javascript
复制
function clickThis():void

6)阅读并在StackOverflow上发布问题...很多!

顺便说一句,我仍然是一个新手,最初是一个设计师,然后是AS2开发人员,我仍然不知道为什么我们要在函数名后面加上:void。如果我们有相似的编码背景,我希望所有这些都有帮助:)

票数 4
EN

Stack Overflow用户

发布于 2009-12-10 04:40:21

我建议你看看Adobe devnet上的ActionScript language migration page。它提供了相当多关于ActionScript 3的关键变化的文章。

要回答按钮上的操作问题,这不再起作用(而且ActionScript 2已经不是最好的解决方法)。AS3要求代码集中在时间线上。因此,为了给一个按钮一些动作,你需要给它一个实例名,并为CLICK事件添加一个事件侦听器,如下所示:

代码语言:javascript
复制
function doSomething ( event:MouseEvent ):void
{
    trace( "test" );
}
myButton.addEventListener( MouseEvent.CLICK, doSomething );
票数 2
EN

Stack Overflow用户

发布于 2009-12-10 08:33:30

获取Actionscript 3 IDE。例如闪存生成器、FlashDevlop或FDT。这将迫使你学得非常快。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1876665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档