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

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; // } // } // } // } }

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

  1. flash与动画 人物动作动画

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

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

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

  3. Flash cs3简单的动画制作

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 基于Centos搭建nginx+uwsgi运行django环境
  2. CREATE TABLESPACE
  3. CentOS7下安装MySQL5.7安装与配置(转)
  4. 【Python】Python视频制作工具Manim入门,基础形状详细介绍
  5. JVM参数-XX:+HeapDumpOnOutOfMemoryError
  6. 计算机英语课程背景,专家讲座第十五讲:信息化背景下高质量大学英语课程建设与教学设计...
  7. php读取xml标签内容,从xml php5获取内容
  8. SpringMVC学习一
  9. 带你深入了解 GitLab CI/CD 原理及流程
  10. mysql的两种存储方法_mysql的两种存储引擎
  11. matlab学习笔记杂项一
  12. Mac怎么连接多个蓝牙音箱?
  13. Kettle下载与安装教程【保姆版】
  14. 四阶龙格库塔法(Runge-Kutta)求解常微分方程的 Matlab程序及案例
  15. 聚类分析在SPSS中的应用
  16. 关于项目一直updating indexes不停的解决方案
  17. 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
  18. 真实测评vivoY30和红米k30哪个好-vivoY30和红米k30区别
  19. 1.SD卡初始化、写入、读取、数据比较
  20. 索尼 a7 IV 和佳能 EOS R6 哪个好

热门文章

  1. 形态学滤波(2):开运算、闭运算、形态梯度、顶帽、黑帽
  2. instr 限制 oracle,ORACLE结合mapper.xml讨论instr函数匹配时,若参数值长度超出了instr函数长度的限制解决方法...
  3. RAID0、1、3、5、6、10、50和热备盘超详细说明
  4. MYSQL史上最全学习分享
  5. 微软开源 Sketch2Code,UI 草图转成 HTML 代码
  6. ArrayList addAll() 方法
  7. kts 样例,包含多渠道打包。改名
  8. OSChina 周五乱弹 ——是的,我的老婆是抱枕
  9. 【Spring】AOP底层实现原理 —— 动态代理类的创建(JDK、CGlib)、工厂加工原始对象
  10. 计算机移动硬盘的一般作用,2t移动硬盘分区是否必要?它的功能和意义是什么?...