|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
matrix rotate????? пожалуста помагите
у matrix имеитса rotate функцыя
1) как вычеслит угал при каторам разворнут абект после запуска этой функцыи 2) как можша што rotate не добавлял угал к уже существуешему а ставел ево к примеру у меня ест абкет каторы был разворнут с matrix на 45 градусов как мне это вычеслит и развернут обратно на угал 0?
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска... зайдите на сайт паиграт в игрй может время будет новйе закину |
|
|||||
я немогу это прочитать =\
установи себе Microsoft Word и проверяй ошибки, я сам не блещу идеальным русским, но все же... я не могу понять о чем ты пишешь.
__________________
I'm only happy when it rains. Waka Laka |
|
|||||
За албанский здесь надо банить. ИМХО.
|
|
|||||
don't panic!
Регистрация: 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); |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
перевожу на русский. :)
он хочет пользоваться поворотами и через _rotation и через transform.matrix, и хочет узнать при повороте через _rotation, какие параметры будут в матрице (и наоборот). |
|
|||||
don't panic!
Регистрация: 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) } |
|
|||||
Цитата:
нужна вычеслит угал и развернут 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;
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска... зайдите на сайт паиграт в игрй может время будет новйе закину |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
var angle = Math.acos(rectangleMc.transform.matrix.a)*180/Math.PI;
в переменной angle получится угол, на который был повернут объект. это не то? Цитата:
Последний раз редактировалось Nox Noctis; 28.05.2006 в 23:01. |
|
|||||
Nox Noctis - я хотел бы поделитса сорсами чтобы ты взглянул.
это free transformer который работает как обычны в macromedia flash. ICQ : 102-716-660 или прещли мне e-mail
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска... зайдите на сайт паиграт в игрй может время будет новйе закину |
Часовой пояс GMT +4, время: 13:58. |
|
« Предыдущая тема | Следующая тема » |
|
|