![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 2
|
Здравствуйте! Надеюсь, вы мне поможете с решением небольшой проблемы.
В общем и целом суть того, что я хочу сделать следующая: 1. На пустой сцене через цикл создается новый клип1 2. Внутри каждого из этих клипов1 создается рэндомное(от 2 до 5 включительно) количество клипов2, в которых рисуются фигуры, масштабирующиеся в соответствии со шкалой из массива1. 3. Внутри каждого из клипов1 создается текстовое поле с текстом из массива2. 4. Текстовому полю присваивается координата y на основании количества нарисованных клипов2 (то есть, если клипов2 в клипе1 4 штуки, то значение y одно, а если 3, то другое). 5. Клип1 вместе со всем содержимым, включая текстовое поле поворачивается вокруг своего центра на количество градусов из массива3. 6. Операции 1-5 повторяются еще 5 раз. Часть, которая касается текствого поля никак мне не дается - то создается только одно, то все 6, но текст есть только в первом... Словом, в коде есть непонятные места. Помогите мне, пожалуйста, разобраться, что к чему. Важно, естественно не только увидеть решение проблемы, но и понять почему оно является решением. =) Мой код: var segment:Array = ["service","calc","online","adress","portfolio","about"]; var dummy:Array = [0,1,2,3,4,5]; var colorSet:Array = [[0xc13d39,0xd23137,0xf34b31,0xff6e35,0xff8c3c],[0xff850f,0xff9909,0xffaa01,0xffbe00,0xffde1f],[0x62a400,0x82e626,0xc8ff64,0xe1ff96,0xfaffc8],[0x323468,0x4b4d89,0x5a6397,0x7f7fd5,0x9191f2],[0x005c94,0x0089a3,0x39b6b2,0x70e0bc,0xa4fcd6],[0xa20058,0xb32065,0xb32f6d,0xb44278,0xd45996]]; var partScale:Array = [1,0.66,0.5,0.33,0.2]; var segmentRotation:Array = [0,-60,-120,-180,-240,-300]; var buttonText:Array = ["Текст1","Текст2","Текст3","Текст4","Текст5","Текст6"]; var buttonTxtPosition:Array = new Array(); for (var i:int = 0; i<6; i++) { var segmentName:MovieClip = new MovieClip(); segmentName.name = segment[i]; addChild(segmentName); segmentName.x = stage.stageWidth / 2; segmentName.y = stage.stageHeight / 2; segmentName.rotation = segmentRotation[i]; var RND:int = Math.round(Math.random() * 3) + 2; buttonTxtPosition[i] = RND; var buttonTxt:TextField = new TextField(); buttonTxt.name = dummy[i]; segmentName.addChild(buttonTxt); buttonTxt.type = TextFieldType.DYNAMIC; buttonTxt.textColor = 0x777777; buttonTxt.autoSize = "center"; buttonTxt.selectable = false; buttonTxt.text = buttonText[i]; for (var p:int = 5-RND; p<5; p++) { *var pieceName:Sprite = new Sprite(); *pieceName.name = dummy[p]; *segmentName.addChild(pieceName); *pieceName.graphics.beginFill(colorSet[i][p], 1); *pieceName.graphics.lineStyle(1, 0x000000, 0); *pieceName.graphics.moveTo(0, 0); *pieceName.graphics.lineTo(-100, -173.2); *pieceName.graphics.curveTo(-55, -200, 0, -200); *pieceName.graphics.curveTo(55, -200, 100, -173.2); *pieceName.graphics.lineTo(0, 0); *pieceName.graphics.endFill(); *pieceName.scaleX = partScale[p]; *pieceName.scaleY = partScale[p]; } } |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 2
|
Да, проблема именно та, спасибо большое за помощь!
P.S. А откуда вы это узнали? Что нужно почитать, чтобы знать такие вещи? |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|