2012-06-19 2 views
0

그래서 저는 bitmapdata를 사용하여 지형과의 충돌 감지를 결정하는 플래시 게임을하고 있습니다. 아이디어는 두 세트의 지형 타일을 갖는 것이 었습니다. 하나는 실제 지형이 위에 있고 다른 하나는 기본 색상으로 충돌을 결정하는 것입니다. 그런 식으로 영웅이 "하이트 맵"의 특정 색과 접촉하게되면 그의 움직임은 멈추거나, 느려지거나, 손상을 받거나, 높이의 변화를 보여줌으로써 높이의 변화를 나타낼 수 있습니다. 이런 일을하기 위해서 타일을 추가 할 때와 마찬가지로 배열을 사용하여 전체 높이 맵 타일을 추가해야합니다. bitmapdata를 통해이 작업을 수행하는 것이 예상보다 어려워졌으며 다음 코드를 사용할 때 오류가 계속 발생합니다.AS3 BitmapData 충돌 감지

다음과 같은 오류가 발생합니다. TypeError : Error # 1010 : 용어가 정의되지 않았으며 속성이 없습니다.

지금까지 내가 그것은 다음과 같은 코드에서오고 말할 수 :

var bitmapData:BitmapData = new BitmapData(heightContainer.heightMapClip.width, heightContainer.heightMapClip.height); 

하지만 내가 잘못 뭘하는지 모르겠어요. 내가 배열 부분에 주위를 확보하지 못했지만 다음은 그냥이 먼저 작동시킬 필요가 있고 정말 시도하고 자신을 위해 나머지를 파악하려면, 아직 전체의 코드입니다 :

var heightMapClip = new heightMap(); 
heightContainer.addChild(heightMapClip); 
var heightData:String; 
var hContainer:Sprite = new Sprite(); 
heightMapClip.x=-200; 
heightMapClip.y=-200; 
var bitmapData:BitmapData = new BitmapData(heightContainer.heightMapClip.width, heightContainer.heightMapClip.height); 
bitmapData.draw(heightContainer.heightMapClip); 
var myHeightMap:Bitmap = new Bitmap(bitmapData); 

heightContainer.addChildAt(hContainer,0); 
heightContainer.hContainer.addChild(myHeightMap); 

heightContainer.hContainer.addEventListener(Event.ENTER_FRAME, onClick); 
function onClick(e:Event):void 
{ 
    var obj:Sprite = e.currentTarget as Sprite; 
    var myHeightMap:Bitmap = Bitmap(obj.getChildAt(0)); 
    var pixelValue:uint = heightContainer.myHeightMap.bitmapData.getPixel(mouseX,mouseY); 
    heightData=pixelValue.toString(16); 
    if(heightData=="99ff00"){ 
     trace("Collision Detected"); 
    } 
} 

이것에 대한 도움은 크게 감사 할 것입니다.

+0

사고로 해결 : D – vagabond80

답변

1

heightContainer.addChild (heightMapClip); 이 존재하고 폭 속성이있는 한 (

이 작업을 수행하여이 오류를

을 생성합니다 heightContainer

heightContainer.heightMapClip.width에 속성 heightMapClip을 추가하지 마십시오하지만이되지 않습니다 :))

heightMapClip.width

안부 PS "우연히 해결"은 해결책을 명시하지 않습니다. 다른 사람들이보고 질문 할 수 있도록 질문에 대답하기 위해 한 일을 적으십시오.

+0

어떻게 해결했는지 알았 으면 좋겠네요. D : 오전 4시에 내가 무엇을했는지 전혀 몰라. 코드를 만지작 거리며 갑자기 작동하기 시작했습니다. – vagabond80