Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение геометрии Bitmap (http://www.flasher.ru/forum/showthread.php?t=148311)

AntonSurkont 27.12.2010 19:06

Изменение геометрии Bitmap
 
Здравствуйте уважаемые программисты.
Подскажите плиз как можно изменить геометрию объекта Bitmap? К примеру у нас есть прямоугольное изображение как сделать это изображение ромбом или трапецией?
Думал DisplacementMapFilter поможет, но ничего не получается.

Rzer 27.12.2010 19:17

http://silin.su/#AS3/bitmap/distort10/bin

AntonSurkont 27.12.2010 19:36

Rzer большое вам спасибо, но можно еще небольшой вопросик, я скачал запустил проект с помощью FlashDevelop, но не компилится ругается на строки import com.bit101.components.*; и import silin.bitmap.DistortImage10;//http://silin.su/#AS3, где мне взять эти классы?

mikhailk 27.12.2010 19:38

Там у Силина есть ссылки на эти классы
у него библиотеки отдельно лежат

но, вообще-то, есть более продвинутый способ
http://help.adobe.com/ru_RU/AS3LCR/F.../Matrix3D.html

я делал вставку фото в клип с деформацией на нем

AntonSurkont 27.12.2010 19:57

спасибо mikhailk буду разбираться

AntonSurkont 29.12.2010 16:31

Вложений: 1
Здравствуйте уважаемые программисты.
Я разобрался с Matrix3D и изменил объект как мне нужно.
Вот код:
Код AS3:

package {
    import flash.display.*;
    import flash.display.Graphics;
    import flash.geom.*;
    import flash.events.*;
 
    public class My_trial extends MovieClip {
        private var rectangle:Shape = new Shape();
        private var v3:Vector.<Vector3D> = new Vector.<Vector3D>(3);
 
        public function My_trial():void {
            rectangle.graphics.beginFill(0xFF0000);
            rectangle.graphics.lineStyle(2);
            rectangle.graphics.drawRect(0,0,100,80);
            rectangle.graphics.endFill();
            rectangle.x = 200;
            rectangle.y = 150;
            rectangle.z = 1;
 
            addChild(rectangle);
            v3 = rectangle.transform.matrix3D.decompose();
            //v3[0].incrementBy(new Vector3D(200,0,0));
            v3[1].incrementBy(new Vector3D(0,-200,0));
            v3[2].incrementBy(new Vector3D(2,0,2));
            rectangle.transform.matrix3D.recompose(v3);
        }
    }
}

Но появилась проблема, у меня не получается сделать анимацию перехода из обычного состояния шейпа в новое измененное при помощи Matrix3D.
Во вложенном архиве есть свфка, в которой происходит анимация которую я хочу сделать кодом.
Подскажите плиз...

AntonSurkont 30.12.2010 18:03

Мне удалось найти решение http://demiart.ru/forum/index.php?showtopic=133435

dimarik 31.12.2010 02:36

Знаю, что вам там русский плохо преподают. Постарайтесь хоть обращения обрамлять запятыми. А что там на демиарте, стало умнее?


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

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