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;// }// }// }// }}
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
flash与动画 人物动作动画相关推荐
- 在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 ...
最新文章
- switch case
- 笔试分享 | 带你解读校招人工智能笔试题
- mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序
- 机器学习新论文推荐-(成对关系约束的非负矩阵分解)
- 大厂疯传!Python+商业数据分析+数据可视化教程(附项目案例)
- linux内核线程socket,从Linux源码看Socket(TCP)的accept
- 不管什么事,只要用心做,总不会太差!
- 图解,C语言希尔排序
- 这就是数据分析之算法认知
- python中文人名识别(使用hanlp,LTP,LAC)
- PowerDesigner 使用记录
- 【PAT Advanced Level】1011. World Cup Betting (20)
- 【Ubuntu】deepin安装QQ WeChat
- 三屏版知识竞赛类软件的开发需求分析及技术构思
- 一文详解对称密钥加密
- Fastjson存在0day漏洞
- linux上压缩pdf文件,如何压缩PDF文件?
- Python简单示例-词频统计(分词)
- Python 查看已安装的软件包及版本
- 奶酪巫师的黑客乐园 - 第一个进行硬分叉的区块链游戏?