我试图在我使用相同的元素之前缩放图案元素
_mesh.graphics.beginBitmapFill(_box, matrix, true, true);
,但它没有考虑它并且它不缩放图案元素>仅背景。这是用于填充背景的图案元素,名称为“ Box ”
这是迄今为止我所拥有的用于创建我想要的效果的类中的代码
private var _mesh:Shape = new Shape();
private var _box:BitmapData = new Box();
public function CreateRow_Col() {
addEventListener(Event.ADDED_TO_STAGE, zzz);
}
private function zzz(e:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, zzz);
var stageW:Number = stage.stageWidth
var stageH:Number = stage.stageHeight
var elementW = _box.width
var elementH = _box.height
var numberElements_W = Math.ceil(stageW / elementW)
var numberElements_H = Math.ceil(stageH / elementH)
var ScaleX:Number = 1
var ScaleY:Number = 51
var background_W = numberElements_W * elementW * ScaleX
var background_H = numberElements_H * elementH * ScaleY
//trace(background_W + " = "+ numberElements_W + " * " + elementW)
var matrix:Matrix = new Matrix()
matrix.scale(ScaleX,ScaleY);
_mesh.graphics.beginBitmapFill(_box, matrix, true, true);
_mesh.graphics.drawRect(0, 0, background_W, background_H);
_mesh.graphics.endFill();
_mesh.x = _mesh.y = 0;
_mesh.scaleX = stageW / background_W;
_mesh.scaleY = stageH / background_H;
trace(stageH / background_H)
addChild(_mesh);
}
}
}
我的意思是>当我评论时,/*_mesh.scaleX = stageW / background_W;
_mesh.scaleY = stageH / background_H;*/
我有 2 行必须这样做,因为我有不同的 scaleX 和 Y,它们会根据某些事件而改变(元素会变大或变小)
但是当我取消注释 _mesh.ScaleX 和 Y 时,我没有像我想要的那样让 2 行适合整个碎石,我得到 5 行(它们的大小完全适合 stage.stageWidth 或 Height - 我想要但并不总是五个)。更糟糕的是,当我将模式元素的 ScaleY 或 X 更改为 0.5 或 51 或 501 之类的任何数字时,它根本不在乎 >> 我总是得到 5 行。
这可以解决吗?
舞台尺寸为 550x400,元素尺寸为 63x83
编辑:好吧,它需要看起来var ScaleY:Number = 3
像这样
var ScaleY:Number = 2
像这样的时候