2012-01-25 4 views
0

내 상자 애니메이션이 왼쪽에서 오른쪽 방향으로 오게하고 싶습니다. 지금 상자가 위쪽에서부터 아래쪽으로 보입니다. 어떻게 상자의 왼쪽에서 오른쪽으로 움직이는 방향을 바꿀 수 있습니까? , 내가왼쪽에서 오른쪽 방향으로 Actionscript 3

enter image description here

아래 그림과 같이, 구 상자와 세 개의 서로 다른 라인을 가지고 여기

전에 오른쪽으로 감사를 왼쪽에서 내가 애니메이션을 어떻게 내 현재 코드

function random_item() 
{ 
    var listItem:Array = new Array(); 
    for (var i:uint=0; i<15; i++) 
    { 
     listItem.push(i); 
    } 
    ItemLeft = 0; 
    for (var x:uint=0; x<boardWidth; x++) 
    { 
     for (var y:uint=0; y<boardHeight; y++) 
     { 
      var thisItem:FirstBox = new FirstBox(); 
      thisItem.stop(); 
      thisItem.x = x * IcardHorizontalSpacing + IboardOffsetX; 
      thisItem.y = y * IcardVerticalSpacing + IboardOffsetY; 
      var r:uint = Math.floor(Math.random() * listItem.length); 
      thisItem.cardface = listItem[r]; 
      listItem.splice(r,1); 
      thisItem.addEventListener(MouseEvent.CLICK,clickItem); 
      thisItem.buttonMode = true; 
      addChild(thisItem); 
      ItemLeft++; 
     } 
    } 

} 

입니다

+1

거기에 애니메이션 코드가 없으므로 잘못된 정보를 말하는 것이 어렵습니다. 그러나 왼쪽에서 오른쪽으로 진행되는 애니메이션을 만들기 위해서는'thisItem'의 x 좌표를 증가 시키면됩니다. 애니메이션을 만드는 가장 간단한 방법은 TweenMax를 사용하는 것입니다. http://www.greensock.com/tweenmax/ – Bakapii

답변

0

중첩 된 for 루프는 x 위치 안에 y 위치가 중첩되어 있으므로 각 x 위치에 3 개의 y 위치 (상단, 중간, 하단)가 나타납니다.

당신은 변수의 순서 전환 등의 아래에 for 루프를 구성하여보고있는 행동을 수정할 수 있습니다

for (var y:uint=0; y<boardHeight; y++) 
{ 
    for (var x:uint=0; x<boardWidth; x++) 
    { 
     //Inner code remains the same 
    } 
} 

이 방법으로, 세 X-위치가 각 y를 표시됩니다 - 위치, 당신이 찾고있는 왼쪽에서 오른쪽으로 행동을 만들기를 바랍니다.

+0

시도해 보았습니다.하지만 첫 번째처럼 작동하는 것 같습니다. 왼쪽 상단에서 왼쪽 아래로 여전히 방향이 있습니다. –

0
//change 
for (var y:uint=0; y<boardHeight; y++) 

//to 
for (var y:uint=boardHeight; y>0; y--) 

코드에서 x 루프 안에 y 루프가 중첩되어 있습니다.
이것은 X 루프를 반복 할 때마다 상자가 아래쪽에서 위쪽으로 이동한다는 것을 의미합니다.
이것이 당신이 찾고있는 것인지 알 수 없습니다.
원하는 내용에 대해 구체적으로 설명하십시오.

+0

예 그게 무슨 뜻인지, 내가 코드를 변경했습니다, 그것은 맨 처음부터 세 상자 (왼쪽에서 오른쪽)하지만 다른 상자가 사라 졌어요 (안 나타납니다) –

0

x가 처음 반복되고 y가 반복됩니다. 즉, 모든 열에 대해 3 개의 항목이 추가됩니다. 루프를 반전시켜 모든 행에 대해 3 개의 항목을 추가하십시오.

function random_item() 
{ 
    var listItem:Array = new Array(); 
    for (var i:uint=0; i<15; i++) 
    { 
     listItem.push(i); 
    } 
    ItemLeft = 0; 
    for (var y:uint=0; y<boardHeight; y++) 
    { 
     for (var x:uint=0; x<boardWidth; x++) 
     { 
      var thisItem:FirstBox = new FirstBox(); 
      thisItem.stop(); 
      thisItem.x = x * IcardHorizontalSpacing + IboardOffsetX; 
      thisItem.y = y * IcardVerticalSpacing + IboardOffsetY; 
      var r:uint = Math.floor(Math.random() * listItem.length); 
      thisItem.cardface = listItem[r]; 
      listItem.splice(r,1); 
      thisItem.addEventListener(MouseEvent.CLICK,clickItem); 
      thisItem.buttonMode = true; 
      addChild(thisItem); 
      ItemLeft++; 
     } 
    } 

}