que tengo una imagen de mapa de bits AS3 que me gustaría para sesgar este modo:El uso de un 3DMatrix 4x4 en AS3 para sesgar imágenes
Sólo quisiera para sesgar la parte inferior de la imagen, y deja la parte superior solo. Basado en mi investigación que he hecho hasta ahora, parece que quisiera utilizar la clase Matrix3D, pero no estoy muy seguro de cómo implementarlo efectivamente.
Gracias a una respuesta más adelante, este artículo es un excelente recurso para entender la clase Matrix3D con una matriz 3x3: http://www.senocular.com/flash/tutorials/transformmatrix/ Sin embargo tan impresionante como el tutorial es, que no proporciona la capacidad para sesgar la imagen de arriba. Lo que estoy buscando es un tutorial similar sobre cómo usar una matriz 4x4. Todo lo que me gustaría saber es dónde poner los números en la matriz, y debería ser capaz de descubrir todo lo demás.
Aquí hay un código de ejemplo en lo que tengo hasta para:
var tempLoader:Loader=new Loader();
var tempBitmap:Bitmap;
var fattenTheBottom:Number;
tempLoader.load(new URLRequest("image.png"));
tempLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,castBitmap);
function castBitmap(e:Event):void
{
tempLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE,castBitmap);
tempBitmap = Bitmap(tempLoader.content);
// Make the image into a trapezoid here using fattenTheBottom
addChild(tempBitmap);
}
sería apreciada maravillosamente Cualquier consejo!
Tal vez sea más fácil utilizar la rotación 3D para acercar la parte inferior al visor. No estoy seguro si la herramienta de rotación 3D viene con un equivalente de AS3, pero si no puede intentar implementar un motor 3D básico. – Marty
Qué tipo de restricciones desea controlar, es decir, si le preocupa poder definir explícitamente el ancho de la parte inferior del trapezoide. Si no es como sugiere Marty, debería poder usar rotationX http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#rotationX, de lo contrario, creo que usar una Matriz 3D funcionaría http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix3D.html#appendRotation() translate gira alrededor de X translate y luego tempBitmap.transform.matrix3D = your3DMatrix. – shaunhusain
Si le preocupa el control estricto de cualquiera de las limitaciones del tamaño del mapa de bits que deben ser más exactas en lugar de tener en cuenta, esto probablemente requerirá un poco más de matemática. – shaunhusain