flash与动画:人物动作动画
今天天气很热,没有太多精神去进行实验,今晚随便写了一下代码。记录一些笔记,看看上面的图片是不是很酷呢?因为这种人物动画只是利用时间间隔播放不同帧才会看到不同效果。原理非常简单,只是切换不同帧。
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与动画:人物动作动画相关推荐
- flash与动画 人物动作动画
今天天气很热,没有太多精神去进行实验,今晚随便写了一下代码.记录一些笔记,看看上面的图片是不是很酷呢?因为这种人物动画只是利用时间间隔播放不同帧才会看到不同效果.原理非常简单,只是切换不同帧. fla ...
- 在Flash CS6中安装动画辅助制作插件DragonBones
提示:本文后面提供的附件是我从网络上搜索到的一个相当不错的针对Flash CS 6.0的扩展插件,它是在原有的Dragonbone 2.0的基础上作了适当修改,以便导致更多类型的符合COCOS2D-X ...
- Flash cs3简单的动画制作
[size=medium][color=green][b]Flash cs3简单的动画制作 请参考如下 https://jingyan.baidu.com/article/e52e3615454de8 ...
- html遮罩层动画制作,flash简单制作遮罩动画效果
flash简单制作遮罩动画效果QQ空间的开机动画大家应该都有,从最初的出现的一点到后面全部出现,如此神奇的效果到底是怎么做的呢,一起来看看吧!遮罩特效: 由于百度只能上传500k以内的照片,所以效果图 ...
- 初中动画flash作品_初中动画flash作品_初中Flash动画设计基础知识试题及答案.doc...
初中Flash动画设计基础知识试题及答案.doc 第 =page1*2-1 1页,共4页 第 =page1*2 2页,共4页 2015- 2015-2016学年第一学期信息技术期末试卷(笔试题) 1. ...
- Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载)
Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/2 ...
- 计算机考试 flash 世界杯,我的世界杯:FLash关于滚动足球动画制作... -电脑资料...
目前世界杯打得火热,今天风之梦教大家利用Flash绘制滚动的足球动画,让更多喜欢看球的设计迷们自己做出自己喜欢的足球动画, 首先来看一下FLASH制作的滚动足球动画的效果.大家可以注意到这个足球在转动 ...
- Animation:与Flash媲美的JavaScript动画
Animation扩展器控件可以应用到页面中的任何元素上,为其添加能够与Flash相媲美的动画功能,这些动画均建立于ASP.NET AJAX之上,并以组件的方式提供给开发者. 示例运行代码: 图(1) ...
- Flash ActionScript 3.0 动画教程 (高清PDF中文版下载)
Flash ActionScript 3.0 动画教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/21/ ...
- android 那几种动画,Android 动画实现几种方案
Android 动画实现几种方案 在 Android 的 FrameWork 中,为我们提供三种动画的实现方式:逐帧(Frame)动画.视图/补间动画(View Animation)和属性动画(Pro ...
最新文章
- 基于Centos搭建nginx+uwsgi运行django环境
- CREATE TABLESPACE
- CentOS7下安装MySQL5.7安装与配置(转)
- 【Python】Python视频制作工具Manim入门,基础形状详细介绍
- JVM参数-XX:+HeapDumpOnOutOfMemoryError
- 计算机英语课程背景,专家讲座第十五讲:信息化背景下高质量大学英语课程建设与教学设计...
- php读取xml标签内容,从xml php5获取内容
- SpringMVC学习一
- 带你深入了解 GitLab CI/CD 原理及流程
- mysql的两种存储方法_mysql的两种存储引擎
- matlab学习笔记杂项一
- Mac怎么连接多个蓝牙音箱?
- Kettle下载与安装教程【保姆版】
- 四阶龙格库塔法(Runge-Kutta)求解常微分方程的 Matlab程序及案例
- 聚类分析在SPSS中的应用
- 关于项目一直updating indexes不停的解决方案
- 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
- 真实测评vivoY30和红米k30哪个好-vivoY30和红米k30区别
- 1.SD卡初始化、写入、读取、数据比较
- 索尼 a7 IV 和佳能 EOS R6 哪个好
热门文章
- 形态学滤波(2):开运算、闭运算、形态梯度、顶帽、黑帽
- instr 限制 oracle,ORACLE结合mapper.xml讨论instr函数匹配时,若参数值长度超出了instr函数长度的限制解决方法...
- RAID0、1、3、5、6、10、50和热备盘超详细说明
- MYSQL史上最全学习分享
- 微软开源 Sketch2Code,UI 草图转成 HTML 代码
- ArrayList addAll() 方法
- kts 样例,包含多渠道打包。改名
- OSChina 周五乱弹 ——是的,我的老婆是抱枕
- 【Spring】AOP底层实现原理 —— 动态代理类的创建(JDK、CGlib)、工厂加工原始对象
- 计算机移动硬盘的一般作用,2t移动硬盘分区是否必要?它的功能和意义是什么?...