actionscript 3 - How to rescale a element in a scaled container -
im trying scale pattern element before use same element in _mesh.graphics.beginbitmapfill(_box, matrix, true, true);, doesnt consider , doesnt scale pattern element> background. pattern element used filling background name of "box"

this code in class have far creating of effect want
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); } } }
what mean > when comment /*_mesh.scalex = stagew / background_w; _mesh.scaley = stageh / background_h;*/ have 2 rows must ,cause ill have different scalex , y change depending on events(the element bigger or smaller)
but when uncomment _mesh.scalex , y dont 2 rows fit in entire scree want , 5 rows (they purfectly sized fit stage.stagewidth or height - want not allways five).and worse when change scaley or x of pattern element number .5 or 51 or 501 doesnt care >> 5 rows.

can fixed ?
the stage has 550x400 dimensions , element has 63x83 dimensions
edit: needs when var scaley:number = 3 this
when var scaley:number = 2

var stagew : number = stage.stagewidth; var stageh : number = stage.stageheight; var container : sprite = new sprite(); var tilen : number = 3; var tilem : number = 7; var tilew : number = stagew / tilem; var tileh : number = stageh / tilen; (var i:int = 0; < tilen; i++) { (var j:int = 0; j < tilem; j++) { var tile : sprite = new sprite(); tile.graphics.linestyle( 1, 0xff0000 ); tile.graphics.beginfill( 0x0000ff, 1 ); tile.graphics.drawrect( 0, 0, tilew, tileh ); tile.graphics.endfill(); tile.x = j * tilew; tile.y = * tileh; container.addchild( tile ); } } container.width = stagew; container.height = stageh; addchild( container );
Comments
Post a Comment