Форум 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)
-   -   остановка вращения (http://www.flasher.ru/forum/showthread.php?t=99022)

Kikasso 27.07.2007 02:23

_rotation - это геттер/сеттер, оно не може быть больше 180 и меньше -180
Код:

_rotation = 181;
trace( _rotation ); // -179

Так что добавьте мувику свойство, отвечающее за поворот, и управляйте через него.
Код:

// черточка и табло
mc = createEmptyMovieClip('mc', 1);
mc.lineStyle( 5, 0xFF0000 );
mc.lineTo( 0, 100 );
mc._x = Stage.width/2;
mc._y = Stage.height/2;
var xpoz = Stage.width;
a_txt = createTextField( 'a_txt', 2, xpoz - 20, 10, 10, 10 );
a_txt.autoSize = 'right';
r_txt = createTextField( 'r_txt', 3, xpoz - 20, 30, 10, 10 );
r_txt.autoSize = 'right';

////////////////////////////////////////////////
// задаем геттер
function getAngle(){
        return this.__angle ||  this._rotation;       
}
function setAngle(val){
        this.__angle = val;
        this._rotation = val;
}
mc.addProperty( "angle",  getAngle, setAngle );
/////////////////////////////////////////////////

// смотрим как работает
w = 10;
stopped = true;

function rotateMC(){
        mc.angle += w;
        if(mc.angle > 720 || mc.angle < -720 ) w *= -1;
        a_txt.text = mc.angle;
        r_txt.text = mc._rotation;
}
function onMouseDown(){
        onEnterFrame = stopped ? rotateMC : null;
        stopped = !stopped;
}
onMouseDown();


greenmoon 27.07.2007 14:42

Не в чистом виде, но помогло.
Спасибо!

2Kikasso:
Огромный респект!


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

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