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