2013-05-21

Starling texture repeat background

利用 Texture.repeat 製作重複拼貼的背景
其中 Cover.multiLoader.getDataByKey('bg01').texture 為取得某個 Texture 物件
   // *** background image ***
   var texture:Texture = Cover.multiLoader.getDataByKey('bg01').texture;
   var bgx:int = Math.ceil( this.stage.stageWidth/texture.width );
   var bgy:int = Math.ceil( this.stage.stageHeight/texture.height );
   texture.repeat = true;
   bg_img = new Image(texture);
   bg_img.setTexCoords(1, new Point(bgx, 0));
   bg_img.setTexCoords(2, new Point(0, bgy));
   bg_img.setTexCoords(3, new Point(bgx, bgy));
   bg_img.width *= bgx;
   bg_img.height *= bgy;
   this.addChild(bg_img);
注意: 背景圖邊長必須是 2 的 n 次方, 如 64*64 或 128*128

沒有留言:

FB 留言