Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.02.2011, 21:45
koceg вне форума Посмотреть профиль Отправить личное сообщение для koceg Найти все сообщения от koceg
  № 1  
Ответить с цитированием
koceg

Регистрация: 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, но текст есть только в первом... Словом, в коде есть непонятные места. Помогите мне, пожалуйста, разобраться, что к чему. Важно, естественно не только увидеть решение проблемы, но и понять почему оно является решением. =)

Мой код:

Код AS3:
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];
	}
}

Старый 22.02.2011, 16:14
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Может это и не та проблема, но ваши текстовые поля поворачиваются. А шрифт не встроенный, как я вижу. А не встроенный шрифт при поворотах - исчезает.

Старый 23.02.2011, 14:53
koceg вне форума Посмотреть профиль Отправить личное сообщение для koceg Найти все сообщения от koceg
  № 3  
Ответить с цитированием
koceg

Регистрация: Feb 2011
Сообщений: 2
Да, проблема именно та, спасибо большое за помощь!
P.S. А откуда вы это узнали? Что нужно почитать, чтобы знать такие вещи?

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.