Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите с корректным поворотом картинки методом АС2 (http://www.flasher.ru/forum/showthread.php?t=117236)

Cyberex 22.10.2008 15:29

Помогите с корректным поворотом картинки методом АС2
 
Вот такая конструкция:
Код:

        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

Цитата:

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

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

ЭДИТ:

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

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

Mur4ik 23.10.2008 16:20

Вложений: 1
Вот примерно так как во вложении.

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

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

mixery 23.10.2008 21:17

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


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

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