用Bitmap/BitmapData 实现人物行走

原创 2011年01月20日 13:33:00

///////////////////////////////////////main.as

package flash023{

import flash.display.BitmapData;

import flash.geom.Rectangle;

import flash.display.Loader;

import flash.net.URLRequest;

import flash.display.Bitmap;

import flash.events.Event;

import flash.display.Sprite;

import flash.geom.Point;

//import flash023.JPEGMovieClip;

public class Main extends Sprite {

private var loader:Loader;

public function Main():void {

loader=new Loader;

loader.contentLoaderInfo.addEventListener(Event.COMPLETE ,onJPEGLoaderComplete);

try {

loader.load(new URLRequest("mode.jpg"));

} catch (_e:Error) {

trace(_e);

}

}

public function onJPEGLoaderComplete(_evt:Event):void {

var _bmp:Bitmap =_evt.target.content as Bitmap;

var main_bmd:BitmapData = _bmp.bitmapData.clone();

loader.unload();

createBmdArray(main_bmd);

}

public function createBmdArray(_bmd:BitmapData):void{

var posW:uint = _bmd.width / 6;

var posH:uint = _bmd.height / 8;

for (var _h:uint = 0; _h < 2; _h++) {

var _mc:JPEGMovieClip=new JPEGMovieClip;

_mc.x = Math.random()*900;

_mc.y = Math.random()*500;

addChild(_mc);

for (var _w:uint = 0; _w < 6; _w++) {

var _temp:BitmapData = new BitmapData(posW, posH);

var _rec:Rectangle = new Rectangle(1 + _w * posW, _h * posH, posW, posH);

_temp.copyPixels(_bmd,_rec,new Point());

_mc.pushFrame(_temp);

}

}

}

}

}

////////////////////////JPEGMovieClip.as

package flash023{

import flash.display.Bitmap;

import flash.display.BitmapData;

import flash.display.Sprite;

import flash.events.Event;

public class JPEGMovieClip extends Sprite {

private var bmd_array:Array;

private var total:uint;

private var current:uint;

private var bitmap:Bitmap;

private var d:int = 0;

public function JPEGMovieClip() {

this.scaleX = 0.5;

this.scaleY = 0.5;

bmd_array=new Array  ;

total=1;

current=0;

bitmap=new Bitmap;

addChild(bitmap);

addEventListener(Event.ENTER_FRAME,show_func);

}

public function get totalframes():uint {

return total;

}

public function get currentframe():uint {

return current + 1;

}

private function show_func(_evt:Event):void{

d++;

if(d==3){

current%= total;

bitmap.bitmapData=bmd_array[current++];

d = 0;

this.x +=5;

// this.y +=2;

if(this.x > 920){

if(this.y > 560){

this.y = 10;

}

this.x = -10;

}

}

}

public function pushFrame(_bmd:BitmapData):void{

bmd_array.push(_bmd);

total=bmd_array.length;

}

}

}

 

位图——Bitmap和BitmapData(一)

    AS3中的Bitmap类对象代表了位图,而位图的所有的像素信息,存储在Bitmap对象的bitmapData属性持有的BitmapData对象中。BitmapData对象并不是显示对象(Dis...
  • sycflash
  • sycflash
  • 2010年01月01日 11:08
  • 5588

Bitmap图片处理的效率----BitmapData

一、在图片处理时,如果每次都是对Bitmap的对象进行直接处理,效率不高。 二、改进: 在每次处理图像之前,对其进行lock,生成对应的BitmapData对象。  ( 注:    ...
  • qq_23992597
  • qq_23992597
  • 2016年06月02日 17:59
  • 1556

C# BitmapData使用

C# BitmapData使用
  • chenhongwu666
  • chenhongwu666
  • 2015年01月20日 12:31
  • 12946

C#之BitmapData应用2 由数据转换为Bitmap图像

见下面的函数,注意的是图像的宽度应该是4的整数倍。 void dataToBitmap(double[] data, out Bitmap bitmap,int width,int he...
  • chenneu
  • chenneu
  • 2010年03月08日 15:18
  • 1025

【Unity3D实战项目:疯狂杀戮】角色模型的行走控制(一)

猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=342今天正式开始了第一个实战项目...
  • yanghuiliu
  • yanghuiliu
  • 2012年11月30日 20:25
  • 16215

本篇写的2D动画 主要是控制人物行走方向和播放的动画帧

本篇写的2D动画 主要是控制人物行走方向和播放的动画帧自己没有找到4组合适的动画 无法看的很清楚 只能片面的截一张用GUI生成了几个按钮来控制图中的Cube 记得相机弄成2D视角如果你有合适的动画 放...
  • u012487582
  • u012487582
  • 2015年02月13日 22:36
  • 1349

android 学习: 人物行走

1.接口 public interface Walker { //显示人物 void show(Canvas canvas); //目标坐标 void targetPostion(float...
  • xhalone
  • xhalone
  • 2014年04月02日 00:44
  • 611

[Unity3D]Unity3D游戏开发之史上最简单的鼠标点击控制人物走动实现

大家好,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei。今天呢,我们来一起实现一个在RPG中游戏中十分常见的功能,通过鼠标点击屏幕来控制人物的走动。首先来说一下原...
  • qinyuanpei
  • qinyuanpei
  • 2014年04月11日 18:58
  • 6728

【Cocosd2d实例教程四】Cocos2d实现人物原地走动

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.首先安装TexturePacker     1)TexturePacker介绍            ...
  • gshengod
  • gshengod
  • 2013年10月16日 11:17
  • 2424

js实现让人物走路,点击人物图片实现砍杀

var picSub = 0; var noa = 0; var time = 150; //时间间隔(毫秒) var pic1 = "01.png"; var pic2 = "02....
  • ld513508088
  • ld513508088
  • 2012年10月03日 22:26
  • 1438
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Bitmap/BitmapData 实现人物行走
举报原因:
原因补充:

(最多只允许输入30个字)