Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.06.2013, 18:30
kompaky вне форума Посмотреть профиль Отправить личное сообщение для kompaky Найти все сообщения от kompaky
  № 1  
Ответить с цитированием
kompaky

Регистрация: Jun 2013
Сообщений: 1
Question Вращение MovieClip

Цитата:
Управление прямоугольником. Дан некий прямоугольник. Пользователь должен иметь возможность менять высоту, ширину прямоугольника, а также поворот относительно любой из его вершин. Обязательно наличие координатных осей и сетки;
Вечер добрый.
Все строится программно.
Сетку и изменение размера реализовал.
Вопрос насчет вращения. Вращать относительно точки регистрации это ясно. А вот как с другими вершинами?
Код AS1/AS2:
Stage.scaleMode = "noScale";
import mx.transitions.Tween;
import mx.transitions.easing.*;
this.createEmptyMovieClip("setka",0);
setka.lineStyle(1,0x000000);
for (var i=0; i < 50; i++) {
setka.moveTo (i*10,0);
setka.lineTo(i*10,500);
}
for (var j=0; j < 50; j++) {
setka.moveTo (0,j*10);
setka.lineTo(550,j*10);
}
setka.lineStyle(1,0x00ff00);
setka.moveTo(250,0);
setka.lineTo(250,500);
setka.moveTo(0,250);
setka.lineTo(500,250);
 
 
mc = _root.createEmptyMovieClip("sqr",this.getNextHighestDepth());
mc._x=250;
mc._y=250;
sqr.lineStyle(1, 0x33CCCC);
sqr.beginFill(0x333333);
sqr.moveTo(0,0);
sqr.lineTo(60, 0);
sqr.lineTo(60,40);
sqr.lineTo(0, 40);
sqr.lineTo(0, 0);
sqr.endFill();
 
 
bt.onPress=function(){
 
 
sqr.onReleaseOutside = function() {
//if ((_xmouse>=this._width-10) && (_xmouse<=this._width) && (_ymouse>=this._height-10) && (_ymouse<=this._height)){
	this.varTween = new Tween(this, "_width", Regular.easeOut, this._width, _xmouse-250, 0.5, true);
	this.varTween = new Tween(this, "_height", Regular.easeOut, this._height, _ymouse-250, 0.5, true);}//
sqr.onRelease= function() {
//if ((_xmouse>=this._width-10) && (_xmouse<=this._width) && (_ymouse>=this._height-10) && (_ymouse<=this._height)){
	this.varTween = new Tween(this, "_width", Regular.easeOut, this._width, _xmouse-250, 0.5, true);
	this.varTween = new Tween(this, "_height", Regular.easeOut, this._height, _ymouse-250, 0.5, true);}//
 
}
 
bt2.onRelease=function(){
	sqr.onPress = function(){
 
	this._rotation+=3;
	}
 
}


Последний раз редактировалось kompaky; 14.06.2013 в 18:48.
Старый 16.06.2013, 21:26
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 2  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Ну можно реализовать поворот программно, т.е просчитывать все точки через синус и косинус или же через матрицу.

Старый 17.06.2013, 12:14
Sergey_A вне форума Посмотреть профиль Отправить личное сообщение для Sergey_A Найти все сообщения от Sergey_A
  № 3  
Ответить с цитированием
Sergey_A

Регистрация: Jun 2010
Сообщений: 128
Возможно, проще будет сделать 4 прямоугольника с разными точками регистрации, и заменять их соответственно при начале вращения вокруг данной вершины (точки регистарции). Положение других вершин нужно будет вычислять каждый раз по окончании вращения, чтобы другие прямоугольники вставлялись правильно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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