BitmapData实例应用(1)
暂时定个1吧~~~~~~~~~~~~~~有时间继续补上关于这方面的实例 .........
奉上原代码(将该类写成文档类测试):
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class BitMapDataTest extends Sprite
{
private var ball:Shape;
private var myBitMapData:BitmapData;
private var myBitmap:Bitmap;
private var myText:TextField = new TextField;
private var DotArray:Array = new Array();
private var TxtFormat:TextFormat = new TextFormat;
private var bnx:Number = 20;
private var bny:Number = 20;
public function BitMapDataTest()
{
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
TxtFormat.size = 40;
TxtFormat.color = 0x000000;
TxtFormat.letterSpacing = 4;
myText.defaultTextFormat = TxtFormat;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.text = "我是真的真的很喜欢FLASH";
myText.x = 20;
myText.y = 100;
this.addChild(myText);
//将文本转成myBitMapData对象
myBitMapData = new BitmapData(myText.width,myText.height,false,0xcc6600);
myBitMapData.draw(myText);
//填加到Bitmap
myBitmap = new Bitmap(myBitMapData);
myBitmap.x = bnx;
myBitmap.y = bny;
//显示在舞台
//this.addChild(myBitmap);
//(各位可以加上看下转换成位图后的效果);
//将myBitMapData中有颜色的点坐标储存在数组中
for(var y:uint = 0;y getPixel(x,y) != 0xcc6600)
{
DotArray.push({x:x,y:y});
}
}
}
//根据数组复制点
for(var i:uint = 0;iTween = new Tween(ball, "x", Back.easeOut, ball.x, DotArray[i].x+100, speed, true);
//var ty:Tween = new Tween(ball, "y", Back.easeOut, ball.y, DotArray[i].y+400, speed, true);
ball.addEventListener(Event.ENTER_FRAME,fun);
}
}
//缓冲到指定的点坐标
private function fun(e:Event):void
{
//缓动公式
var speed:Number = Math.random()*10;
e.currentTarget.x += (DotArray[uint(e.currentTarget.name)].x+bnx - e.currentTarget.x)/speed;
e.currentTarget.y += (DotArray[uint(e.currentTarget.name)].y+bny - e.currentTarget.y)/speed;
//删除侦听
if(e.currentTarget.x == DotArray[uint(e.currentTarget.name)].x+bnx &&
e.currentTarget.y == DotArray[uint(e.currentTarget.name)].y+bny)
{
e.currentTarget.removeEventListener(Event.ENTER_FRAME,fun);
}
}
}
}
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class BitMapDataTest extends Sprite
{
private var ball:Shape;
private var myBitMapData:BitmapData;
private var myBitmap:Bitmap;
private var myText:TextField = new TextField;
private var DotArray:Array = new Array();
private var TxtFormat:TextFormat = new TextFormat;
private var bnx:Number = 20;
private var bny:Number = 20;
public function BitMapDataTest()
{
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
TxtFormat.size = 40;
TxtFormat.color = 0x000000;
TxtFormat.letterSpacing = 4;
myText.defaultTextFormat = TxtFormat;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.text = "我是真的真的很喜欢FLASH";
myText.x = 20;
myText.y = 100;
this.addChild(myText);
//将文本转成myBitMapData对象
myBitMapData = new BitmapData(myText.width,myText.height,false,0xcc6600);
myBitMapData.draw(myText);
//填加到Bitmap
myBitmap = new Bitmap(myBitMapData);
myBitmap.x = bnx;
myBitmap.y = bny;
//显示在舞台
//this.addChild(myBitmap);
//(各位可以加上看下转换成位图后的效果);
//将myBitMapData中有颜色的点坐标储存在数组中
for(var y:uint = 0;y getPixel(x,y) != 0xcc6600)
{
DotArray.push({x:x,y:y});
}
}
}
//根据数组复制点
for(var i:uint = 0;iTween = new Tween(ball, "x", Back.easeOut, ball.x, DotArray[i].x+100, speed, true);
//var ty:Tween = new Tween(ball, "y", Back.easeOut, ball.y, DotArray[i].y+400, speed, true);
ball.addEventListener(Event.ENTER_FRAME,fun);
}
}
//缓冲到指定的点坐标
private function fun(e:Event):void
{
//缓动公式
var speed:Number = Math.random()*10;
e.currentTarget.x += (DotArray[uint(e.currentTarget.name)].x+bnx - e.currentTarget.x)/speed;
e.currentTarget.y += (DotArray[uint(e.currentTarget.name)].y+bny - e.currentTarget.y)/speed;
//删除侦听
if(e.currentTarget.x == DotArray[uint(e.currentTarget.name)].x+bnx &&
e.currentTarget.y == DotArray[uint(e.currentTarget.name)].y+bny)
{
e.currentTarget.removeEventListener(Event.ENTER_FRAME,fun);
}
}
}
}
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/3072.html
暂时定个1吧~~~~~~~~~~~~~~有时间继续补上关于这方面的实例 .........
奉上原代码(将该类写成文档类测试):
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class BitMapDataTest extends Sprite
{
private var ball:Shape;
private var myBitMapData:BitmapData;
private var myBitmap:Bitmap;
private var myText:TextField = new TextField;
private var DotArray:Array = new Array();
private var TxtFormat:TextFormat = new TextFormat;
private var bnx:Number = 20;
private var bny:Number = 20;
public function BitMapDataTest()
{
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
TxtFormat.size = 40;
TxtFormat.color = 0x000000;
TxtFormat.letterSpacing = 4;
myText.defaultTextFormat = TxtFormat;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.text = "我是真的真的很喜欢FLASH";
myText.x = 20;
myText.y = 100;
this.addChild(myText);
//将文本转成myBitMapData对象
myBitMapData = new BitmapData(myText.width,myText.height,false,0xcc6600);
myBitMapData.draw(myText);
//填加到Bitmap
myBitmap = new Bitmap(myBitMapData);
myBitmap.x = bnx;
myBitmap.y = bny;
//显示在舞台
//this.addChild(myBitmap);
//(各位可以加上看下转换成位图后的效果);
//将myBitMapData中有颜色的点坐标储存在数组中
for(var y:uint = 0;y getPixel(x,y) != 0xcc6600)
{
DotArray.push({x:x,y:y});
}
}
}
//根据数组复制点
for(var i:uint = 0;iTween = new Tween(ball, "x", Back.easeOut, ball.x, DotArray[i].x+100, speed, true);
//var ty:Tween = new Tween(ball, "y", Back.easeOut, ball.y, DotArray[i].y+400, speed, true);
ball.addEventListener(Event.ENTER_FRAME,fun);
}
}
//缓冲到指定的点坐标
private function fun(e:Event):void
{
//缓动公式
var speed:Number = Math.random()*10;
e.currentTarget.x += (DotArray[uint(e.currentTarget.name)].x+bnx - e.currentTarget.x)/speed;
e.currentTarget.y += (DotArray[uint(e.currentTarget.name)].y+bny - e.currentTarget.y)/speed;
//删除侦听
if(e.currentTarget.x == DotArray[uint(e.currentTarget.name)].x+bnx &&
e.currentTarget.y == DotArray[uint(e.currentTarget.name)].y+bny)
{
e.currentTarget.removeEventListener(Event.ENTER_FRAME,fun);
}
}
}
}
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class BitMapDataTest extends Sprite
{
private var ball:Shape;
private var myBitMapData:BitmapData;
private var myBitmap:Bitmap;
private var myText:TextField = new TextField;
private var DotArray:Array = new Array();
private var TxtFormat:TextFormat = new TextFormat;
private var bnx:Number = 20;
private var bny:Number = 20;
public function BitMapDataTest()
{
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
TxtFormat.size = 40;
TxtFormat.color = 0x000000;
TxtFormat.letterSpacing = 4;
myText.defaultTextFormat = TxtFormat;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.text = "我是真的真的很喜欢FLASH";
myText.x = 20;
myText.y = 100;
this.addChild(myText);
//将文本转成myBitMapData对象
myBitMapData = new BitmapData(myText.width,myText.height,false,0xcc6600);
myBitMapData.draw(myText);
//填加到Bitmap
myBitmap = new Bitmap(myBitMapData);
myBitmap.x = bnx;
myBitmap.y = bny;
//显示在舞台
//this.addChild(myBitmap);
//(各位可以加上看下转换成位图后的效果);
//将myBitMapData中有颜色的点坐标储存在数组中
for(var y:uint = 0;y getPixel(x,y) != 0xcc6600)
{
DotArray.push({x:x,y:y});
}
}
}
//根据数组复制点
for(var i:uint = 0;iTween = new Tween(ball, "x", Back.easeOut, ball.x, DotArray[i].x+100, speed, true);
//var ty:Tween = new Tween(ball, "y", Back.easeOut, ball.y, DotArray[i].y+400, speed, true);
ball.addEventListener(Event.ENTER_FRAME,fun);
}
}
//缓冲到指定的点坐标
private function fun(e:Event):void
{
//缓动公式
var speed:Number = Math.random()*10;
e.currentTarget.x += (DotArray[uint(e.currentTarget.name)].x+bnx - e.currentTarget.x)/speed;
e.currentTarget.y += (DotArray[uint(e.currentTarget.name)].y+bny - e.currentTarget.y)/speed;
//删除侦听
if(e.currentTarget.x == DotArray[uint(e.currentTarget.name)].x+bnx &&
e.currentTarget.y == DotArray[uint(e.currentTarget.name)].y+bny)
{
e.currentTarget.removeEventListener(Event.ENTER_FRAME,fun);
}
}
}
}
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/3072.html