2012-08-03 1 views
2

나는 그 안에 MovieClip으로 구성된지도를 가지고 있으며지도 MovieClip의 최상위 레이어에서 클릭 기능을 가지고 있습니다. 도시를 클릭하면 직사각형이 그려집니다. 다음은 코드입니다.MovieClip ActionScript 3 안에 Rentangle 그리기

function rpress(a) 
{ 
trace("trying"); 

    var b:MovieClip = new MovieClip(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
trace("done") 
} 

추적 명령이 실행되지만 사각형이 그려지지 않습니다. 나는 MovieClip(root).addChild..., stage.addChild..., MovieClip(parent).addChild...과 다른 것을 시도했다 ...

당신은 생각을 가지고 있냐? 고맙습니다!

FULL CODE : 그래서, 당신은 충분히 코드가 표시되지 않는

function rbtxt(a) 
{ 
    var _loc2 = a; 
    var _loc3 = this; 
    balon._visible = true; 
    arbtxt = ilad.split(","); 
    balon.txt.text = arbtxt[_loc2]; 
    _loc3["x" + _loc2].play(); 
    balon._x = _loc3["x" + _loc2]._x; 
    balon._y = _loc3["x" + _loc2]._y - _loc3["x" + _loc2]._height/2 + 5; 
} 
//End of the function 
function rbalon(a) 
{ 
    balon._visible = false; 
    this["x" + a].gotoAndStop(1); 
} 
//End of the function 
function rpress(a) 
{ 
trace("trying"); 

    var b:MovieClip = new MovieClip(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
trace("done") 
} 

ilad = "CITY NAMES....." 
ilurl = "CITY URLS....." 
+0

왜 그냥 '스프라이트'를 사용하지 않으시겠습니까? – Staven

+0

스프라이트가 어떻습니까? var b와 유사합니다. Sprite = new Sprite(); ? 그것이 작동하지 않는다는 것을 의미한다면 ... " 'Sprite'를로드 할 수 없습니다.라는 오류가 나타납니다. – ciyo

+0

.fla 또는 전체 코드를 게시 할 수 있습니까? 당신은 rpress() 함수가 멋져 보이기 때문에 다른 것이 틀림 없다. – BadFeelingAboutThis

답변

1

: MovieClip-> 84 층은 미국 - 환영

더블 클릭지도> "액션 레이어"작업-FRAME라는 레이어를 선택했다 우리는 단지 추측 할 수 있습니다.

0

스프라이트 그래픽에 대한 액세스 권한이 시도

this["x" + a].addChild(b); 

또는

balon.addChild(b); 

그러나 이것은 단지 추측됩니다 ... 그리고에만 무비 클립을 사용하십시오 정보를 살펴보면 당신은 당신이 시도 할 수 공급 SWF가로드 된 복잡한 객체 및 타임 라인 기반 애니메이션 및 변수 등의 플래시 라이브러리 에셋

function drawRect() 
{ 
    trace("trying"); 

    //var b:MovieClip = new MovieClip(); 
    var b:Sprite = new Sprite(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
    trace("done") 
} 
+0

더욱 단순하고 가벼우므로 Shape 클래스를 사용할 수 있습니다. Btw. 나는 그것이 좋은 점이라서 왜 투표를했는지 모르겠다. 어쨌든 그것은 내가 아니었고, 나는 그 잔인 함이 될 수있는 150 평판이 필요하다.) –

+0

Shape 클래스가 가장 효율적이었다. 그래도 질문에 대한 대답이 아니며 의견에 더 적절할 것입니다. – BadFeelingAboutThis

+0

다른 임무를 수행하기 위해 여기있는 것은 아니지만 올바른 방향으로 그들을 가리 키십시오. 나는 지금부터 어도비 라이브 문서에 대한 링크를 게시 할 것이다. 사람들 이여. – Darcey

1

안녕하세요 무대에 동영상 클립을 추가하고 다음과 같은 그림 camamnd를 실행하려고합니다

var b:MovieClip = new MovieClip(); 
    addChild(b); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
+0

작동하지 않습니다 ... – ciyo

관련 문제