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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.05.2006, 01:47
G.W.M вне форума Посмотреть профиль Отправить личное сообщение для G.W.M Посетить домашнюю страницу G.W.M Найти все сообщения от G.W.M
  № 1  
Ответить с цитированием
G.W.M

Регистрация: Jan 2000
Адрес: израил
Сообщений: 116
Отправить сообщение для G.W.M с помощью ICQ
По умолчанию matrix rotate????? пожалуста помагите

у matrix имеитса rotate функцыя
1) как вычеслит угал при каторам разворнут абект после запуска этой функцыи
2) как можша што rotate не добавлял угал к уже существуешему а ставел ево

к примеру у меня ест абкет каторы был разворнут с matrix на 45 градусов как мне это вычеслит и развернут обратно на угал 0?
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска...
зайдите на сайт паиграт в игрй может время будет новйе закину

Старый 28.05.2006, 02:12
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 2  
Ответить с цитированием
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
я немогу это прочитать =\
установи себе Microsoft Word и проверяй ошибки, я сам не блещу идеальным русским, но все же... я не могу понять о чем ты пишешь.
__________________
I'm only happy when it rains.
Waka Laka

Старый 28.05.2006, 10:11
undeddy вне форума Посмотреть профиль Отправить личное сообщение для undeddy Найти все сообщения от undeddy
  № 3  
Ответить с цитированием
undeddy

Регистрация: Dec 2005
Адрес: Холодная Сибирь...
Сообщений: 268
Отправить сообщение для undeddy с помощью ICQ
За албанский здесь надо банить. ИМХО.

Старый 28.05.2006, 13:32
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
в хэлпе к флэшу:

ActionScript 2.0 Language Reference > ActionScript classes > Matrix (flash.geom.Matrix)

там написано, как вычисляются все матричные трансформации.

в частности, по твоему вопросу:
Код:
import flash.geom.Matrix;
createRectangle = function (width:Number, height:Number, color:Number):MovieClip
{
	var depth:Number = this.getNextHighestDepth();
	var mc:MovieClip = this.createEmptyMovieClip("mc_"+depth, depth);
	mc.beginFill(color);
	mc.lineTo(0, height);
	mc.lineTo(width, height);
	mc.lineTo(width, 0);
	mc.lineTo(0, 0);
	return mc;
};
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
//
my_matrix = rectangleMc.transform.matrix;
my_matrix.rotate(0.5);
my_matrix.tx = 100;
my_matrix.ty = 100;
rectangleMc.transform.matrix = my_matrix;
//
var angle = Math.acos(rectangleMc.transform.matrix.a)*180/Math.PI;
//
trace("rotation = "+angle);

Старый 28.05.2006, 13:36
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 5  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
перевожу на русский. :)

он хочет пользоваться поворотами и через _rotation и через transform.matrix,
и хочет узнать при повороте через _rotation, какие параметры будут в матрице (и наоборот).

Старый 28.05.2006, 13:46
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
как-то так, наверное.
Код:
import flash.geom.Matrix;
createRectangle = function (width:Number, height:Number, color:Number):MovieClip
{
	var depth:Number = this.getNextHighestDepth();
	var mc:MovieClip = this.createEmptyMovieClip("mc_"+depth, depth);
	mc.beginFill(color);
	mc.lineTo(0, height);
	mc.lineTo(width, height);
	mc.lineTo(width, 0);
	mc.lineTo(0, 0);
	return mc;
};
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
//
rectangleMc.rotateSimple = function (angle:Number) {	
	var matrix:Matrix = this.transform.matrix;	
	matrix.identity();
	//	
	this.transform.matrix = matrix;	
	this._rotation = angle;
}
rectangleMc.rotateMatrix = function (angle:Number) {		
	var matrix:Matrix = this.transform.matrix;
	matrix.identity();
	matrix.rotate(angle*Math.PI/180);
	//
	this.transform.matrix = matrix;
	this._rotation = 0;
}
//
this.onMouseDown = function()
{
	rectangleMc.rotateSimple(45)
}
this.onMouseUp = function()
{
	rectangleMc.rotateMatrix(0)
}

Старый 28.05.2006, 22:32
G.W.M вне форума Посмотреть профиль Отправить личное сообщение для G.W.M Посетить домашнюю страницу G.W.M Найти все сообщения от G.W.M
  № 7  
Ответить с цитированием
G.W.M

Регистрация: Jan 2000
Адрес: израил
Сообщений: 116
Отправить сообщение для G.W.M с помощью ICQ
Цитата:
import flash.geom.Matrix;
createRectangle = function (width:Number, height:Number, color:Number):MovieClip {
var depth:Number = this.getNextHighestDepth();
var mc:MovieClip = this.createEmptyMovieClip("mc_"+depth, depth);
mc.beginFill(color);
mc.lineTo(0, height);
mc.lineTo(width, height);
mc.lineTo(width, 0);
mc.lineTo(0, 0);
return mc;
};
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
// set Matrix
var MyMatrix = rectangleMc.transform.matrix
MyMatrix.d = 2;
rectangleMc.transform.matrix = MyMatrix;
//
rectangleMc.rotateSimple = function(angle:Number) {
var matrix:Matrix = this.transform.matrix;
matrix.identity();
//
this.transform.matrix = matrix;
this._rotation = angle;
};
rectangleMc.rotateMatrix = function(angle:Number) {
var matrix:Matrix = this.transform.matrix;
matrix.identity();
matrix.rotate(angle*Math.PI/180);
//
this.transform.matrix = matrix;
this._rotation = 0;
};
//
this.onMouseDown = function() {
rectangleMc.rotateSimple(45);
};
this.onMouseUp = function() {
rectangleMc.rotateMatrix(0);
};
запусти этот код и паймощ што исползавать this._rotation = 0; нелзя
нужна вычеслит угал и развернут matrix

MyMatrix.rotate(degrees)

matrix rotate != _rotation

MovieClip._rotation = 0


Код:
import flash.geom.Matrix;
createRectangle = function (width:Number, height:Number, color:Number):MovieClip {
	var depth:Number = this.getNextHighestDepth();
	var mc:MovieClip = this.createEmptyMovieClip("mc_"+depth, depth);
	mc.beginFill(color);
	mc.lineTo(0, height);
	mc.lineTo(width, height);
	mc.lineTo(width, 0);
	mc.lineTo(0, 0);
	return mc;
};
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
// set Matrix rotate
var MyMatrix = rectangleMc.transform.matrix
MyMatrix.rotate(0.50);
MyMatrix.tx = 200;
rectangleMc.transform.matrix = MyMatrix;
trace(rectangleMc._rotation) //  0
// set Matrix height
var MyMatrix = rectangleMc.transform.matrix
MyMatrix.d = 2;
rectangleMc.transform.matrix = MyMatrix;
// закаментируй линию и увидеш што matrix абекта анулируета при исползавание  _rotation
rectangleMc._rotation = 0;
этот пример показывает што исползавать ._rotation нелзя в работе с matrix што возвращяет нас к праблеме как вычеслит угал при каторам был разворнут абект спомащю matrix.rotate() и как развернут ево обратно с тем же matrix.rotate()
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска...
зайдите на сайт паиграт в игрй может время будет новйе закину

Старый 28.05.2006, 22:59
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 8  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Код:
как вычеслит угал при каторам был разворнут абект спомащю matrix.rotate()
var angle = Math.acos(rectangleMc.transform.matrix.a)*180/Math.PI;

в переменной angle получится угол, на который был повернут объект.
это не то?

Цитата:
Сообщение от G.W.M
запусти этот код и паймощ што исползавать this._rotation = 0; нелзя
нужна вычеслит угал и развернут matrix
если ты не поставишь себе ворд c проверкой орфографии - тебя начнут игнорировать. :)


Последний раз редактировалось Nox Noctis; 28.05.2006 в 23:01.
Старый 28.05.2006, 22:59
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
тема интересная, но отвечать не буду..
сори за офтоп

Старый 28.05.2006, 23:29
G.W.M вне форума Посмотреть профиль Отправить личное сообщение для G.W.M Посетить домашнюю страницу G.W.M Найти все сообщения от G.W.M
  № 10  
Ответить с цитированием
G.W.M

Регистрация: Jan 2000
Адрес: израил
Сообщений: 116
Отправить сообщение для G.W.M с помощью ICQ
Nox Noctis - я хотел бы поделитса сорсами чтобы ты взглянул.
это free transformer который работает как обычны в macromedia flash.

ICQ : 102-716-660
или прещли мне e-mail
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска...
зайдите на сайт паиграт в игрй может время будет новйе закину

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

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

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


 


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


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