2015-05-05 2 views
0

если я вставляю несколько экземпляров мувиклипа с помощью метода addChild и цикла «для», как я могу определить точную позицию x, y экземпляров в сцене? Любой конкретный x y для каждого экземпляра или размещение экземпляров рядом друг с другом с указанным пространством между ними. Скажем, квадраты шириной 40 пикселей с пространством 20 пикселей между ними. благодарит за любые советыAS3: определить позиции вставленных экземпляров фрагмента ролика

+1

Покажите нам код. – Fygo

+0

Пока у меня есть только это: 'for (var i: int = 0; i <5; i ++) { var testSquare: square = new square(); addChild (testSquare); } 'Это не для какого-либо реального проекта, это просто для цели обучения. – ondrags

ответ

0

Этот пример показывает квадратики в ряд с 20px пространства между ними:

 var xSquare:Number = 10; 
     var ySquare:Number = 10; 
     var space:Number = 20; 
     for (var i:int = 0; i < 5; i++) { 
      var testSquare:Square = new Square(); 
      addChild(testSquare); 
      testSquare.x = xSquare + testSquare.width * i + space * i ; 
      testSquare.y = ySquare; 
     } 

Надежда это то, что вы имеете в виду

+0

спасибо, это то, что я хочу :) просто хочу быть уверенным, что я его напишу: в этой части кода 'testSquare.x = xSquare + testSquare.width * i + space * i;' значение 'i' для первого экземпляра testSqaure 1 или 0? – ondrags

+0

Ur welcome.The переменная i равна 0 для первого экземпляра testSqaure. –

0

Вставляя свои объекты на сцену, дайте им все имена (obj0, obj1, obj2 и т. Д.). Затем вы можете просто использовать getChildByName ('objX'). Это то, что тебе надо?

+0

, так как я новичок в ActionScript, до сих пор я не сталкивался с getChildByName, так что это могло быть то, что было ineed :) Не могли бы вы объяснить мне, пожалуйста, как его использовать? Я также не знаю, как добавить номер в имя экземпляра мувиклипа. Я нашел это 'for (var i: Number = 0; i <10, i ++) {var my_mc = new MovieClip(); my_mc.name = "mc" + i; addChild (my_mc);} 'но это не сработало, когда я попытался. большое спасибо – ondrags

+0

@ondrags в вашем цикле вы забыли добавить тип переменной. Поэтому он должен выглядеть так: 'for (var i: Number = 0; i <10, i ++) {var my_mc: MovieClip = new MovieClip(); my_mc.name = "mc" + i; addChild (my_mc);} ' , тогда он будет работать. Затем вы можете вызвать все MCs другим циклом: 'for (var i: Number = 0; i <10, i ++) {var my_mc: MovieClip = getChildByName (" mc "+ i) как MovieClip; } ' – tomekc

+0

и как определить положение x y экземпляров« mc »? спасибо – ondrags

Смежные вопросы