Flash AS3对单个图片进行角色动作化处理

2019-10-08 19:23:36王冬梅

大家肯定看过大型游戏一张各个人物动作图片继承在一张位图上的程序吧~现在看看这个!

我今天在蓝色论坛里看到一个有关"BitmapData类"的问题,我觉得用BitmapData类是可以实现里说的C 处理图片功能,再加我好久没写AS3的程序,都快生锈了!就当练练手吧!我查了一下Flash帮助文件,整理一下思路花了中午时间写出下面document类文件;这个功能比较适合做Flash游戏开发了。我加了键盘事件,用来控制角色移动方向。如果在对类代码中使用的类对象不清楚的话,请看Flash帮助文件吧!

提问者提供一个角色动作图片,我也就在就直接用这图片了!

Flash AS3对单个图片进行角色动作化处理

演示处理运行效果(如果看不到,请更新你的Flash Player播放器吧!你可以使用方向键,改变角色移动方向)

Flash效果

GameSprite类:

  1. package{
  2. importflash.display.*;
  3. importflash.net.*;
  4. importflash.utils.Timer;
  5. importflash.events.*;
  6. importflash.geom.*;
  7. publicclassGameSpriteextendsSprite{
  8. privatevartimer:Timer;
  9. privatevarsWidth:uint;
  10. privatevarsHeight:uint;
  11. privatevarsStep:uint;
  12. privatevarsDirection:uint;
  13. privatevarloader:Loader;
  14. privatevarmaps:Array;
  15. privatevarpointer:uint;
  16. privatevarmap:Bitmap;
  17. functionGameSprite(){
  18. //角色大小;
  19. sWidth=100;
  20. sHeight=100;
  21. //角色移动方向;
  22. sDirection=0;
  23. //角色步数;
  24. sStep=1;
  25. //角色动作数组;
  26. maps=newArray();
  27. //初始化角色动作运行指针;
  28. pointer=0;
  29. //初始化time;
  30. timer=newTimer(100);
  31. timer.addEventListener(TimerEvent.TIMER,timerHandler);
  32. //图片加载对象;
  33. loader=newLoader();
  34. loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
  35. loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
  36. loader.load(newURLRequest("/download/sprite.png"));
  37. stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  38. }
  39. //错误处理事件;
  40. privatefunctionerrorHandler(event:IOErrorEvent):void{
  41. trace("IOErrorEvent");
  42. }