Actionscript 3 如何在Flash AS3中的鼠标上方显示图像

Actionscript 3 如何在Flash AS3中的鼠标上方显示图像,actionscript-3,flash,adobe,Actionscript 3,Flash,Adobe,嗨,伙计们,我需要一些关于如何在as3中编码以在按钮上方的鼠标上显示图像的帮助。实际上我现在有这个。我需要的按钮,以显示一些图像在屏幕上做鼠标在 var centerX:Number = 330; var centerY:Number = 130; var radiusX:Number = 250; var radiusY:Number = 50; var speed:Number = 0.1; var farthestFade:Number = 0.2; var farthestSize:Nu

嗨,伙计们,我需要一些关于如何在as3中编码以在按钮上方的鼠标上显示图像的帮助。实际上我现在有这个。我需要的按钮,以显示一些图像在屏幕上做鼠标在

var centerX:Number = 330;
var centerY:Number = 130;
var radiusX:Number = 250;
var radiusY:Number = 50;
var speed:Number = 0.1;
var farthestFade:Number = 0.2;
var farthestSize:Number = 1;
var minSpeed:Number = -0.10;
var maxSpeed:Number = 0.10;
var rangeSpeed:Number = maxSpeed - minSpeed;
var minY:Number = centerY - radiusY;
var maxY:Number = centerY + radiusY;
var rangeY:Number = maxY - minY;
var minScale:Number = 0.3;
var maxScale:Number = 0.7;
var rangeScale:Number = maxScale - minScale;
var itemArray:Array = new Array();



var image1MC:image1 = new image1();
itemArray.push(image1MC);
image1MC.targetURL = "http://www.gmail.com";


var image2MC:image2 = new image2();
itemArray.push(image2MC);
image2MC.targetURL = "http://www.gmail.com";

var image3MC:image3 = new image3();
itemArray.push(image3MC);
image3MC.targetURL = "http://www.twitter.com";

var image4MC:image4 = new image4();
itemArray.push(image4MC);
image4MC.targetURL = "http://www.facebook.com";

var image5MC:image5 = new image5();
itemArray.push(image5MC);
image5MC.targetURL = "http://www.linkedin.com";

var image6MC:image6 = new image6();
itemArray.push(image6MC);
image6MC.targetURL = "http://www.microsoft.com";

var image7MC:image7 = new image7();
itemArray.push(image7MC);
image7MC.targetURL = "http://www.irctc.co.in";

var image8MC:image8 = new image8();
itemArray.push(image8MC);
image8MC.targetURL = "http://www.yahoo.com";

var canvas:MovieClip = new MovieClip();
addChild(canvas);

for (var i:Number = 0; i < itemArray.length; i++)
{
    canvas.addChild(itemArray[i]);
    itemArray[i].buttonMode = true;
    itemArray[i].addEventListener(MouseEvent.CLICK, goToURL);
    itemArray[i].itemAngle = Math.PI * 2 / itemArray.length * i;
    itemArray[i].addEventListener(Event.ENTER_FRAME, animate);
}

function goToURL(e:MouseEvent):void
{
    var req:URLRequest = new URLRequest(e.currentTarget.targetURL);
    navigateToURL(req);
}

function animate(e:Event):void
{
    speed = mouseX / stage.stageWidth * rangeSpeed + minSpeed;
    e.currentTarget.x = Math.cos(e.currentTarget.itemAngle) * radiusX + centerX;
    e.currentTarget.y = Math.sin(e.currentTarget.itemAngle) * radiusY + centerY;
    e.currentTarget.itemAngle += speed;
    itemArray.sortOn("y");

    for(var i:Number = 0; i < itemArray.length; i++)
    {
        canvas.setChildIndex(itemArray[i], i);
        var pct:Number = (itemArray[i].y - minY) / rangeY;
        var scale:Number = pct * rangeScale + minScale;
        itemArray[i].scaleX = itemArray[i].scaleY = scale;
    }
}
var centerX:Number=330;
变量中心:数值=130;
var radiusX:数值=250;
变量半径Y:数值=50;
无功转速:数值=0.1;
var:数值=0.2;
变量大小:数字=1;
var minSpeed:Number=-0.10;
var maxSpeed:Number=0.10;
var rangeSpeed:Number=最大速度-分钟速度;
变量minY:Number=centerY-半径y;
变量maxY:Number=centerY+radiusY;
变量范围:数值=最大值-最小值;
var最小刻度:数值=0.3;
var最大刻度:数值=0.7;
变量范围刻度:数值=最大刻度-最小刻度;
var itemArray:Array=new Array();
var image1MC:image1=新的image1();
itemArray.push(image1MC);
image1MC.targetURL=”http://www.gmail.com";
var image2MC:image2=新的image2();
itemArray.push(image2MC);
image2MC.targetURL=”http://www.gmail.com";
var image3MC:image3=新的image3();
itemArray.push(image3MC);
image3MC.targetURL=”http://www.twitter.com";
var image4MC:image4=新的image4();
itemArray.push(image4MC);
image4MC.targetURL=”http://www.facebook.com";
var image5MC:image5=新的image5();
itemArray.push(image5MC);
image5MC.targetURL=”http://www.linkedin.com";
var image6MC:image6=新的image6();
itemArray.push(image6MC);
image6MC.targetURL=”http://www.microsoft.com";
var image7MC:image7=新的image7();
itemArray.push(image7MC);
image7MC.targetURL=”http://www.irctc.co.in";
var image8MC:image8=新的image8();
itemArray.push(image8MC);
image8MC.targetURL=”http://www.yahoo.com";
var canvas:MovieClip=新的MovieClip();
addChild(画布);
对于(变量i:Number=0;i
简单代码:

var loader:Loader = new Loader();
loader.load(new URLRequest("imgurl.png"));
button.addEventListener(MouseEvent.MOUSE_OVER , onOver);
button.addEventListener(MouseEvent.MOUSE_OUT , onOut);

loader.y = button.y+button.height;

function onOver(e:MouseEvent):void {
    addChild(loader);
}
function onOut(e:MouseEvent):void {
    if(loader.parent){
        removeChild(loader);
    }
}

正如你所说,你在舞台上有你的按钮

var btn:Button;
for(var i=0; i<this.numChildren; i++){
  var btn = this.getChildAt(i) as Button;
  if(btn){
    btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
    btn.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
  }
}
function mouseOverHandler(e:MouseEvent):void{
  // Add code to show any image / text
}
function mouseOutHandler(e:MouseEvent):void{
  // Add code to remove any image / text
}

请描述您需要帮助的具体问题,并展示您已经尝试和研究过的内容,目前来看,这不是一个问题请详细说明你的问题。您想在哪里显示图像?图像是否预加载/在舞台上?是否要在按钮上显示图像?为了获得帮助,请添加您尝试过的内容的实质性上下文。希望您将此作为积极反馈。谢谢。我的按钮在舞台上。我写了一些代码让按钮像旋转木马一样旋转。现在我需要的是,如果我把鼠标放在一个按钮上,它应该用其他图像或文本来描述它。@Venki你有任何类型的映射将每个按钮映射到一个特定的图像或文本吗?没有,它没有相互映射,每个按钮描述不同的图像或文本。turbosqel您的代码运行良好。但我在舞台上有我的按钮,如果我将鼠标放在这些按钮上,我需要一些图像来显示。我在上面附上了我的代码。实际上,这是代码的一部分。如果你看一下,希望你能理解。实际上,上面的代码将您链接到其他页面。但我需要这些按钮来显示鼠标悬停时的图像。按照你的代码。我认为你做得不对。当您尝试实例化image1、image2等时。您应该创建一个图像类。实例化并相应地设置属性。根据您的代码,我只能确定您正在尝试使用目标url链接创建一个图像数组。但不清楚你的按钮在哪里。以及如何分配侦听器,即鼠标事件。请立即检查我的完整代码,并尝试寻求帮助。我也用gmail向你发送了请求samar。测试我的照片不在舞台上。我正在从库中加载。@Venki您可以使用github.com/bitbucket.org共享您的代码。请在此处提交存储库链接。所以我可以看一看。我现在在上面显示了我的完整代码。在gmail上打电话给我,如果你有空的话。我会把我的档案寄给你。
....
// Hover container sprite
var hContainer:Sprite = new Sprite;
addChildAt(hContainer, 0);

for (var i:Number = 0; i < itemArray.length; i++)
{
    ...
    // Add mouser over handler
    itemArray[i].addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
    ...
}

/**
* MouseOver Listener
* @param e MouseEvent
*/
function mouseOverHandler(e:MouseEvent):void{
    var url:String = e.currentTarget.targetURL as String;
    addHoverImage(url);
}

/**
* Add hover image
* @param url String 
*/
function addHoverImage(url:String):void{
    if(hContainer.numChildren)
        hContainer.removeChildAt(0);
    var loader:Loader = new Loader();
    hContainer.addChild(loader);
    loader.load(new URLRequest(url));
}
...
//Problem in this block of code as you have repeated lot of times.
var image1MC:image1 = new image1();
itemArray.push(image1MC);
image1MC.targetURL = "tab.png"

// Better approach could be try adding a class and pass require parameters.
var image1MC:ImageClass = new ImageClass("tab.png");
addChild(image1MC);