PDA

Просмотр полной версии : Помогите с корректным поворотом картинки методом АС2


Cyberex
22.10.2008, 15:29
Вот такая конструкция:

eval(mc_name).attachMovie("prj_bg", "prj_pic_mc"+i, eval(mc_name).getNextHighestDepth());
pic = eval(mc_name)["prj_pic_mc"+i];
pic.createEmptyMovieClip(["pc"+i], pic.getNextHighestDepth());
pc = pic["pc"+i];
pc._x = 35;
pc._y = 27;
pc.loadMovie(_root.image_folder+info_xml.childNodes[0].childNodes[i].attributes.txt);

pic._y=128-27;
pic._x=(i*380)-34;

myFormat = new TextFormat();
myFormat.font = "Arial";
myFormat.size = 25;
myFormat.color = 0xFFFFFF;
myFormat.align = "right";
pic.createTextField("tf", pic.getNextHighestDepth(), 0, 0, 200, 50);

with (pic.tf) {
pic.tf.setTextFormat(_root.myFormat);
pic.tf.wordWrap = false;
pic.tf.selectable = false;
pic.tf.text = info_xml.childNodes[0].childNodes[i].attributes.link;
pic.tf.embedFonts = true;
pic.tf._x = 13; pic.tf._y=148;
}

var rotateNum = Math.round((Math.random()*14));
var rotateMin = Math.round((Math.random()*-8));
pic._rotation = rotateMin+rotateNum



и тут у меня появляется сразу 3 глюка:
1. при программном повороте картинки появляется страшный графический алиасинг (ступени);
2. при повороте перестает видеться текст (его видно только есть РЕНДОМ выдает угол поворота 0 градусов)
3. почему-то МАЙФОРМАТ не устанавливается для этого текста. Это уже вообще... 50 раз я таким строением пользовался, а сейчас не работает!


Я знаю, что я чайник, не надо мне лишний раз напоминать. :)

chingachgoog
22.10.2008, 15:46
1) так включите антиалиас
2, 3 - особо не смотрел, но советую прочитать в хелпе про особенности with в плане присваивания переменным значений.

Psycho Tiger
22.10.2008, 16:09
Могу ошибаться, но по поводу 2 скорее всего это из за того, что не включены embed fonts (происходит аналогичный эффект как с маской).
Где то BlooDHounD писал, что можно применить какой нибудь фильтр, дабы преобразовать в bitmap (причем обычный cacheAsBitmap не работает), и после делать что хочешь.

Cyberex
22.10.2008, 18:50
1) так включите антиалиас
2, 3 - особо не смотрел, но советую прочитать в хелпе про особенности with в плане присваивания переменным значений.

1. Не знаю как. _highquality = 2; и forceSmoothing не помогают :(

ЭДИТ:

С текстом я разобрался. Я просто на бекграундную картинку положил ТЕКСТФИЛД и там же его отформатил красиво.

Теперь бы еще алиасинг убрать...

Mur4ik
23.10.2008, 16:20
Вот примерно так как во вложении.

Смысл копируете с помощью битмапдаты клип с картинкой и вставляете его обратно но уже с опцией сглаживания. И всего-то :)

В файле для сравнения одна картинка встроена без сглаживания, вторая подгружается динамически и сглаживается. Обе они вращаются и .... результат сразу виден...

mixery
23.10.2008, 21:17
спасибо большое за пример! недавно столкнулся с этой проблемой, не знал как решить.