bitmapmaterialtools.as
来自「Papervision3d的源码」· AS 代码 · 共 56 行
AS
56 行
package org.papervision3d.materials.utils
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Matrix;
import org.papervision3d.materials.BitmapMaterial;
public class BitmapMaterialTools
{
public static function createBitmapMaterial(bitmapClass:Class, oneSided:Boolean=true):BitmapMaterial
{
var texture:BitmapData = getTexture(bitmapClass);
var material:BitmapMaterial = new BitmapMaterial(texture);
material.oneSide = oneSided;
return material;
}
public static function getTexture(bitmapClass:Class):BitmapData
{
var bm:Bitmap = Bitmap(new bitmapClass());
var texture :BitmapData = new BitmapData(bm.width, bm.height, true,0xFFFFFF);
texture.draw(bm, new Matrix());
return texture;
}
/**
* Mirrors the bitmap over its X axis
*
* @param bitmap The bitmap to mirror.
*/
public static function mirrorBitmapX(bitmap:BitmapData):void
{
var tmp:Bitmap = new Bitmap(bitmap.clone());
tmp.scaleX = -1;
tmp.x = bitmap.width;
bitmap.draw(tmp, tmp.transform.matrix);
tmp.bitmapData.dispose();
}
/**
* Mirrors the bitmap over its Y axis
*
* @param bitmap The bitmap to mirror.
*/
public static function mirrorBitmapY(bitmap:BitmapData):void
{
var tmp:Bitmap = new Bitmap(bitmap.clone());
tmp.scaleY = -1;
tmp.y = bitmap.height;
bitmap.draw(tmp, tmp.transform.matrix);
tmp.bitmapData.dispose();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?