Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   программная точка центрирования (http://www.flasher.ru/forum/showthread.php?t=127804)

Ar4ibald 23.07.2009 20:04

программная точка центрирования
 
Добрый день, подскажите пожалуйста, как программно менять точку центрирования мувика, чтоб вращать мувик относительно ее.

Спасибо.

yanmasharski 23.07.2009 23:51

Вот нарыл в старых работах... корявенько правда, но работает.
Код AS3:

//Начальнаяя координата Х:10
//Начальнаяя координата Y:101
//Длина "плеча" 100 пикс
//Начальный угол поворота -15
iX=100*Math.cos(-15*Math.PI/180); //длина проекции "плеча" на Х
iY=100*Math.sin(-15*Math.PI/180); //длина проекции "плеча" на Y
// т.е. мы вращаем объект относительно точки (10-iX;101-iY)
 
b_ck.rotation=-15+ugol; //Повернули на ugol градусов от начальных -15
 
//смещение с учётом точки, относительно которой поворачиваем
b_ck.x=10+100*Math.cos(b_ck.rotation*Math.PI/180)-iX; //Начальнаяя координата Х:10
b_ck.y=101+100*Math.sin(b_ck.rotation*Math.PI/180)-iY; //Начальнаяя координата Y:101

Кстати, может быть есть способ и лучше.

Герыч 24.07.2009 00:44

Погляди, вроде в Matrix что-то есть

Mur4ik 24.07.2009 05:00

Код AS3:

public static function rotateAroundPoint(doInstance:DisplayObject, angleDegrees:Number, ptRotationPoint:Point):void
{
        var m:Matrix = doInstance.transform.matrix;
 
        m.tx -= ptRotationPoint.x;
        m.ty -= ptRotationPoint.y;
        m.rotate( angleDegrees * (Math.PI / 180) );
        m.tx += ptRotationPoint.x;
        m.ty += ptRotationPoint.y;
        doInstance.transform.matrix = m;
}


PgeorgyV 24.07.2009 10:31

а можно просто его обернуть
Код AS3:

var parent:Shape = new Shape();
var child:Shape = new Shape();
child.graphics.lineStyle(1, 0, 1);
child.graphics.beginFill(0, 1);
child.graphics.drawRect(0, 0, 30, 30);
child.x -= child.width / 2;
child.y -= child.height / 2;
parent.addChild(child);
parent.rotation = 30;


Ar4ibald 24.07.2009 13:22

Спасибо, господа. Все варианты подходят.

Ar4ibald 03.08.2009 14:39

Добрый день. Столкнулся с проблемой в создании одной галереи.
http://www.avt-group.com.ua/works/artman/ - кнопка меню "Фото". Галерея написана на AS2 и с сайтом соединяеться посредством SWFBridge, что приносит неудобства. Задумал переписать на AS3, но непонятно как сделать такую физику или похожую. Начал делать пошагово, но все равно очень тяжело.
Буду рад, если натолкнете на мысль как такое можно сделать и с помощью чего.
Спасибо огромное.


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

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