首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3:从库精灵制作SimpleButton :可能吗?

AS3:从库精灵制作SimpleButton :可能吗?
EN

Stack Overflow用户
提问于 2011-02-16 13:14:20
回答 3查看 1.6K关注 0票数 0

我正在用AS3做一个小项目,我需要做一些界面按钮。一开始我把它们作为单独的类,但后来意识到这可能有点过头了,最重要的是,我想出了一种方法来简化事件调用,使它们成为按钮并将事件分派分配给它们的父级。

不管怎样,

我尝试使用SimpleButton类重新创建它们,但是我不知道如何给这些按钮以任何形式的设计。web上的每个教程都使用SimpleButton通过实际绘制代码来创建最基本的Actionscript图形(我无法理解为什么有人想要这样做),以及我为upState分配一个库项目的尝试:

代码语言:javascript
复制
_deletebutton = new SimpleButton();
_deletebutton.upState = mc_deleteButtonUp; <--- exists in my library

什么也做不了。

Adobe文档中说各个州都接受DisplayObjects,这意味着他们接受Sprite和MovieClips,所以你应该能够做到这一点。有人知道是怎么回事吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-16 18:14:56

+1很好,文档中的示例通过代码生成状态,但您可以为按钮的不同状态分配任何displayObject。

代码语言:javascript
复制
var btn:SimpleButton = new SimpleButton();

btn.downState      = new clipFromLibDown();
btn.overState      = new clipFromLibOver();
btn.upState        = new clipFromLibUp();
btn.hitTestState   = new clipFromLibHit();
btn.useHandCursor  = true;

addChild( btn );

假设你有4个状态: clipFromLibDown,clipFromLibOver ...在你的库中,这是可行的

票数 3
EN

Stack Overflow用户

发布于 2011-02-16 13:58:10

为了在ActionScript中使用它,你必须使用instantiate an item from your library。为此,单击"Export for ActionScript“并在属性面板中为mc_deleteButtonUp分配一个类或基类。然后使用具有指定类的new operator来实例化它。您可以使用example from Adobe's documentation启动按钮,然后更改内容以适合您自己的程序。

票数 1
EN

Stack Overflow用户

发布于 2011-02-17 06:21:11

您可能没有设置SimpleButton实例的hitTestState属性。此属性是一个DisplayObject,它定义用户必须将鼠标移动到何处才能在SimpleButton上获取鼠标事件。您将永远看不到您设置的DisplayObject。我建议只使用一个你已经在另一个状态使用的DisplayObjects。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/SimpleButton.html#hitTestState

此外,您将需要使用新的运算符,如will和nicoptere已经说过的那样。

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

https://stackoverflow.com/questions/5012735

复制
相关文章

相似问题

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