flash on 2014-11-23
♥0 |
Line 68 |
Modified 2014-11-23 06:54:00 |
MIT License
archived:2017-03-30 11:52:28
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/4ugS
*/
package {
import flash.geom.Point;
import flash.events.Event;
import flash.geom.Matrix;
import flash.display.BitmapData;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
img = getImg(strTest);
img2 = getImg(strTest2);
/*
graphics.clear();
//graphics.beginBitmapFill(img, new Matrix(8,0,0,8),false,false);
graphics.beginBitmapFill(img,null,true,false);
graphics.drawRect(0,0,430,430);
graphics.endFill();
*/
// graphics.beginBitmapFill(canvas);
// graphics.drawRect(0,0,320,240);
// graphics.endFill();
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var canvas:BitmapData = new BitmapData(320,240,false,0);
public function onEnter(e:Event):void
{
graphics.clear();
drawImage(canvas,img, int(Math.random()*32)*8,int(Math.random()*32)*8);
drawImage(canvas,img2, int(Math.random()*32)*8,int(Math.random()*32)*8);
graphics.beginBitmapFill(canvas);
graphics.drawRect(0,0,320,240);
graphics.endFill();
}//onenter
public var dp:Point = new Point();
public function drawImage(to:BitmapData, spr:BitmapData, ax:Number, ay:Number):void
{
if (ax < -spr.width) { return; } if (ay < -spr.height) { return; }
if (ax > to.width) { return; } if (ay > to.height) { return; }
dp.x = ax; dp.y = ay;
to.copyPixels(spr, spr.rect, dp);
}//drawimage
public var img:BitmapData;
public var img2:BitmapData;
public var strTest:String =
"_XXXXXX_"+
"X______X"+
"X_X__X_X"+
"X______X"+
"X_XXXX_X"+
"X__XX__X"+
"X______X"+
"_XXXXXX_";
public var strTest2:String =
"_XXXXXX_"+
"XXXXXXXX"+
"XX_XX_XX"+
"XXXXXXXX"+
"XX____XX"+
"XXX__XXX"+
"XXXXXXXX"+
"_XXXXXX_";
public function getImg(str:String):BitmapData
{
var ret:BitmapData;
var w:int; var h:int;
var k:int; var i:int; var yt:int;
w= 8; h =8;
ret = new BitmapData(w,h,false,0);
for (i = 0; i < h; i++)
{ yt = i * w;
for (k = 0; k < w; k++)
{
if (str.charAt(yt+k) =="X") { ret.setPixel(k,i,0xFFffFFff); }
}//nextk
}//nexti
return ret;
}//getimg
}//classend
}