我想知道如果我有一个数组推动是位图的内容,我怎么得到点击时特定图像的索引。我试图使用indexOf但没有运气,我的代码如下。 感谢您的时间!如何从位图数据(从数组)获取位图图像的索引?
代码:
//First Part is where i add the URLRequest and add the image into contentHolder then onto Stage
function loadImage():void {
for(var i:int = 5; i < somedata.length; i++){
if(somedata[i]){
var loader:Loader = new Loader();
loader.load(new URLRequest("http://www.rentaid.info/rent/"+somedata[i]));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
}
}
}
function onImageLoaded(e:Event):void {
loadedArray.push(e.target.content as Bitmap);
for(var i:int = 0; i < loadedArray.length; i++){
var currentY1:int = 200;
e.currentTarget.loader.content.height =200;
e.currentTarget.loader.content.y += currentY1;
currentY1 += e.currentTarget.loader.content.height +300;
_contentHolder.mouseChildren = false; // ignore children mouseEvents
_contentHolder.mouseEnabled = true; // enable mouse on the object - normally set to true by default
_contentHolder.useHandCursor = true; // add hand cursor on mouse over
_contentHolder.buttonMode = true;
_contentHolder.addChild(loadedArray[i]);
addChild(_contentHolder);
_contentHolder.addEventListener(MouseEvent.CLICK, gotoscene);
}
}
// then the part where i try to get the index
function gotoscene(e:MouseEvent):void {
var index:Number;
index = loadedArray.indexOf(e.target);
trace(index);
}
编辑:
var viewport:Viewport = new Viewport();
viewport.y = 0;
viewport.addChild(_contentHolder);
你能格式化你的代码?如何调用gotoscene?刺入黑暗中,将e.target改为e.currentTarget。 –
嗨,对不起,我编辑了代码,包括如何在代码中调用gotoscene,当content_Holder被点击时,它是一个mouseEvent。我试过e.currentTarget,没有运气,它显示索引为-1。 – Benyaman
位图不接受鼠标点击,因此您接收到的是一个Sprite(或者甚至可能是一个Loader)。所以你应该得到内容,然后查询你的数组。 – Vesper