今天天气很热,没有太多精神去进行实验,今晚随便写了一下代码。记录一些笔记,看看上面的图片是不是很酷呢?因为这种人物动画只是利用时间间隔播放不同帧才会看到不同效果。原理非常简单,只是切换不同帧。

flash 里面 提供时间间隔利用Timer 类 ,或者Enter_Frame刷帧这样的方式 更换不同的图片的切换。我们网上搜索了一张这样的png的图片,里面包含了不同的动作。现在有一种比较傻瓜的方式实现。第一种采用外部加载的方式将图片进行切割4x4的方式导入去 并使用数组进行保存。

在播放图片的时候,使用Bitmap类当中属性进行切换,这种是其中一种 方式。切换不同的帧的时候会有几种的方式,这是是其中一种方式。

bitmap.bitmapData =位图数据;

在切换的时候,我们只是需要对图片从新指定数据则可以。

在这里,只是使用了一张位图。同时创建了一个bitmap对象用于承载位图数据。

现在是切割位图的类。这个类对一张大图切割复制成想要的等分数。调用的时候

array= BitmapSplice.Splice(bitmap.bitmapData,4, 4);则采用这种方式即可。

好,大概就是这样。马上要睡觉了!

package org.summerTree.image{ /* 切割位图类,返回一个二维数组*/ // version 1.0 版本 import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.geom.*; public class BitmapSplice  {    public function BitmapSplice()  {     }  //进行切割  public static function Splice(bitmapdata:BitmapData,titleWidth:uint,titleHeight:uint):Array  {   var Step:Array=new Array();//存取步数数组   var iWidth:int=bitmapdata.width /titleWidth;   var iHeight:int=bitmapdata.height /titleHeight;   for (var i:uint=0; i < titleHeight; i++)   {    var array:Array=new Array();    for (var j:uint=0; j < titleWidth; j++)    {     var tempBMP:BitmapData=new BitmapData(iWidth,iHeight,true,0x00000000);     tempBMP.copyPixels(bitmapdata,new Rectangle(j * iWidth,i * iHeight,iWidth,iHeight),new Point(0,0));     array.push(tempBMP);    }    Step.push(array);   }   bitmapdata.dispose();              return Step;  } }}

package { import flash.display.MovieClip; import flash.display.Loader; import flash.events.*; import flash.net.*; import flash.utils.Timer; import flash.display.Bitmap; import org.summerTree.image.BitmapSplice; public class Main extends MovieClip {  private var url:String="3.png";  private var timer:Timer;  private var array:Array;  private var bitmap:Bitmap;  private var _x:int=0;  private var _y:int=0;  private var count:int=0;  public function Main()  {   init();  }  private function init():void  {   bitmap = new Bitmap();//用于显示人物   addChild(bitmap);   bitmap.x=250;   bitmap.y=100;               //时间器,对图片实现切换的时间间隔   timer=new Timer(300);   timer.addEventListener(TimerEvent.TIMER,onTimer);             //外部加载的图片   var loader:Loader=new Loader();   loader.load(new URLRequest(url));   loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);  }  private function onTimer(event:TimerEvent):void  {   bitmap.bitmapData = array[_y][_x];   _x++;   if (_x>3)   {    if (count==0)    {     count=1;     _x=1;    }    else    {     count=0;     _x=0;    }    _y++;    if (_y>3)    {     _y=0;    }   }  }  private function onLoadComplete(event:Event):void  {   event.currentTarget.removeEventListener(Event.COMPLETE,onLoadComplete);   var bitmap:Bitmap=event.currentTarget.content;   //addChild(bitmap);   array= BitmapSplice.Splice(bitmap.bitmapData,4, 4);   //trace(array);   timer.start();      //addEventListener(Event.ENTER_FRAME,Run);  }    //private function Run(event:Event):void//  {//   bitmap.bitmapData = array[_y][_x];//   _x++;   if (_x>3)//   {//    if (count==0)//    {//     count=1;//     _x=1;//    }//    else//    {//     count=0;//     _x=0;//    }//    _y++;//    if (_y>3)//    {//     _y=0;//    }//   }//  }//   }}

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

flash与动画 人物动作动画相关推荐

  1. 在Flash CS6中安装动画辅助制作插件DragonBones

    提示:本文后面提供的附件是我从网络上搜索到的一个相当不错的针对Flash CS 6.0的扩展插件,它是在原有的Dragonbone 2.0的基础上作了适当修改,以便导致更多类型的符合COCOS2D-X ...

  2. Flash cs3简单的动画制作

    [size=medium][color=green][b]Flash cs3简单的动画制作 请参考如下 https://jingyan.baidu.com/article/e52e3615454de8 ...

  3. html遮罩层动画制作,flash简单制作遮罩动画效果

    flash简单制作遮罩动画效果QQ空间的开机动画大家应该都有,从最初的出现的一点到后面全部出现,如此神奇的效果到底是怎么做的呢,一起来看看吧!遮罩特效: 由于百度只能上传500k以内的照片,所以效果图 ...

  4. 初中动画flash作品_初中动画flash作品_初中Flash动画设计基础知识试题及答案.doc...

    初中Flash动画设计基础知识试题及答案.doc 第 =page1*2-1 1页,共4页 第 =page1*2 2页,共4页 2015- 2015-2016学年第一学期信息技术期末试卷(笔试题) 1. ...

  5. Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/2 ...

  6. 计算机考试 flash 世界杯,我的世界杯:FLash关于滚动足球动画制作... -电脑资料...

    目前世界杯打得火热,今天风之梦教大家利用Flash绘制滚动的足球动画,让更多喜欢看球的设计迷们自己做出自己喜欢的足球动画, 首先来看一下FLASH制作的滚动足球动画的效果.大家可以注意到这个足球在转动 ...

  7. Animation:与Flash媲美的JavaScript动画

    Animation扩展器控件可以应用到页面中的任何元素上,为其添加能够与Flash相媲美的动画功能,这些动画均建立于ASP.NET AJAX之上,并以组件的方式提供给开发者. 示例运行代码: 图(1) ...

  8. Flash ActionScript 3.0 动画教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/21/ ...

  9. android 那几种动画,Android 动画实现几种方案

    Android 动画实现几种方案 在 Android 的 FrameWork 中,为我们提供三种动画的实现方式:逐帧(Frame)动画.视图/补间动画(View Animation)和属性动画(Pro ...

最新文章

  1. switch case
  2. 笔试分享 | 带你解读校招人工智能笔试题
  3. mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序
  4. 机器学习新论文推荐-(成对关系约束的非负矩阵分解)
  5. 大厂疯传!Python+商业数据分析+数据可视化教程(附项目案例)
  6. linux内核线程socket,从Linux源码看Socket(TCP)的accept
  7. 不管什么事,只要用心做,总不会太差!
  8. 图解,C语言希尔排序
  9. 这就是数据分析之算法认知
  10. python中文人名识别(使用hanlp,LTP,LAC)
  11. PowerDesigner 使用记录
  12. 【PAT Advanced Level】1011. World Cup Betting (20)
  13. 【Ubuntu】deepin安装QQ WeChat
  14. 三屏版知识竞赛类软件的开发需求分析及技术构思
  15. 一文详解对称密钥加密
  16. Fastjson存在0day漏洞
  17. linux上压缩pdf文件,如何压缩PDF文件?
  18. Python简单示例-词频统计(分词)
  19. Python 查看已安装的软件包及版本
  20. 奶酪巫师的黑客乐园 - 第一个进行硬分叉的区块链游戏?

热门文章

  1. 实训报告html前端开发,web前端开发技术实验报告 实验三.doc
  2. win10安装ubuntu16.04子系统
  3. 如何根据银行卡号获取对应的银行编号,如:ICBC
  4. 时域、空域、频率的区分。
  5. web之HTML超文本标记语言
  6. 这个技术的出现,可能会颠覆阿里云、AWS!
  7. 中等专业学校计算机专业建设,中职学校计算机专业建设思路.doc
  8. 常见问题分析解决方案
  9. iocp 文件服务器,C++ IOCP windows服务器
  10. 大雅之美:十位大数学家心中最美的公式