나는 비트 맵 (Bitmap) 콘텐츠를 푸는 배열을 가지고 있는지 궁금하다. 클릭 할 때 특정 이미지의 인덱스를 얻는 방법. 나는 indexOf를 사용하려고 시도했지만 운이 없다. 나의 코드는 아래에있다. 시간 내 주셔서 감사합니다.(배열에서) bitmapdata에서 비트 맵 이미지의 인덱스를 얻는 방법은 무엇입니까?
코드 :
//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이 호출되는 방식, 즉 mouse_Event가 content_Holder가 클릭 될 때 포함되어 있습니다. 나는 행운을 빕니다 e.currentTarget을 시도했습니다. -1로 인덱스를 표시합니다. – Benyaman
비트 맵은 마우스 클릭을 허용하지 않으므로 대신 Sprite를받습니다 (또는 로더 일 수도 있음). 따라서 콘텐츠를 가져와 배열과 비교하여 쿼리해야합니다. – Vesper