使用AS3将PNG / GIF图像用作按钮

时间:2011-03-25 17:03:59

标签: actionscript-3 imagebutton flashdevelop

我是AS3的新手,请原谅我。我试图使用图像作为按钮(PNG / GIF图像作为按钮(简单,切换和多状态) - 图像更改鼠标悬停,正常和按下)仅使用AS3。我试着搜索。我得到的只是设置一个按钮的图标。如果您可以共享代码段或指针,那将非常棒。

非常感谢。

2 个答案:

答案 0 :(得分:2)

如果不将图像转换为Movieclip,有很多方法可以做到这一点。您可以使用[Embed]标签将图像嵌入SWF中。或者,更好的方法是,您可以使用Loader类加载它们。

您可以像这样加载图片:

var myloader:Loader = new Loader();
myloader.load(new URLRequest("myImage"));

...然后你会在加载完成后得到它的BitmapData(使用事件监听器来捕获它):

var myBitmapData:BitmapData = Bitmap(myloader.content).bitmapData;

BitmapData对象需要一个Bitmap容器才能将它放置在舞台上,因此您需要使用BitmapData作为输入声明一个Bitmap实例。

var Bitmap:Bitmap = new Bitmap(myBitmapData);

由于可以将Bitmap添加到舞台上,所以你很高兴。您可以将其用作按钮类的一部分。还有一些位图信息here at 8bitrocket.

对于我们这些不使用Flash CS 5或任何其他动画片段创建者的人来说,这是一种很好的方式。我正在使用这种技术在FlashDevelop中制作游戏,效果很好。

希望这有助于“仅限动作”方法。祝你好运。

答案 1 :(得分:0)

拿一个png或jpg并将其转换为一个动画片段。给它一个实例名称。在此示例中,它将是 myButton

然后为其分配以下代码:

myButton.buttonMode = true; // gives it a hand cursor

// first param is the event type, second param is the function called
myButton.addEventListener(MouseEvent.CLICK, onClicked);
myButton.addEventListener(MouseEvent.MOUSE_OVER, onOver);
myButton.addEventListener(MouseEvent.MOUSE_OUT, onOut);

function onClicked(evt:MouseEvent):void
{
    // do something
}

function onOver(evt:MouseEvent):void
{
    // button that was rolled over can be referenced here with
    // evt.target like evt.target.gotoAndPlay('over');
}

function onOut(evt:MouseEvent):void
{
    // button that was rolled off of can be referenced here with
    // evt.target like evt.target.gotoAndPlay('out');
}