Flash游戏开发中的人物走动实现方法
Flash游戏开发中的人物走动实现方法
效果如下:
下载图片:
一、把资源图片通过任何方式加载进swf并生成bitmap对象
二、根据单个动作的宽度和高度生成单独的bitmapData对象的数组
三、通用Timer或EntarFrame等方式循环显示每个动作
package
{
import caurina.transitions.AuxFunctions;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
/**
* 人物走动
* @author ...
*/
[SWF(width="80", height="91", backgroundColor="#ffffff", frameRate="24")]
public class PeopleWalking extends Sprite
{
[Embed(source="people.png")]
private var ImgPng:Class;
private var m:Bitmap;
private var h:int = 91;//单个动作高度
private var w:int = 80;//单个动作宽度
private var c:int=8;//动作数
private var bitmaItem:Array=[];//切开每个动作的位图
public function PeopleWalking()
{
m = new ImgPng() as Bitmap;
for (var i:int = 0; i < c; i++ ) {
var bitmapData:BitmapData = new BitmapData(w, h);//处理 Bitmap 对象的数据(像素)
var matrix:Matrix = new Matrix();//转换矩阵
matrix.tx = -i * w;//沿 x 轴平移每个点的距离
bitmapData.draw(m, matrix, null, null, new Rectangle(0, 0, w, h));//在位图图像上绘制 source 显示对象
bitmaItem.push(bitmapData);//添加到数组结尾
}
m.bitmapData = null;
addChild(m);
var timer:Timer = new Timer(50);//按指定的时间序列运行代码
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
}
function timerHandler(evt:TimerEvent) {
bitmaItem.push(bitmaItem.shift());//从数组中删除第一个元素并添加到数组结尾
m.bitmapData = bitmaItem[0];
}
}
}
转载:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/4806.html
Flash游戏开发中的人物走动实现方法相关推荐
- iOS游戏开发中使用自定义字体的方法
方法1: 添加对应的字体(.ttf或.odf)到工程的resurce,使用cocos2d中的FontLabel库,FontLabel继承于UILabel,象UILabel一样使用就好了 fontNam ...
- 游戏开发中的专业术语
本文整理了网络/游戏/编程相关的专业术语,作为游戏开发中的辅助参考资料,后期如果遇到其他的术语还会更新. 16毫秒 / 帧速率 Frame Rate. 电子游戏使用的光栅显示器是普通电视时,图像一般每 ...
- 游戏开发中2D场景下实现伪3D碰撞检测方法
当前市面上有许多2D类型的格斗游戏,比如经典的KOF,侍魂,DNF,还有现今的摸头村手游等等,2D游戏众所周知只有两个轴--X轴和Y轴,需要完成攻击判定也仅仅只能通过构建一个2D的碰撞器,通过碰撞器检 ...
- 游戏开发中常用的数据结构和算法
转载Loving_初衷 前言 时间流逝,物是人非,就好像涌动的河流,永无终焉,幼稚的心智将变得高尚,青年的爱慕将变得深刻,清澈之水折射着成长. ----------<塞尔塔传说> PS:为 ...
- 移动端h5游戏开发中的动画和动效展示
在移动端h5游戏开发中,经常会遇到动画和动效的展现需求,比较常用的实现方法有css3.svg.定时器等,针对不同的场景和需求使用不同的技术,可以提升设计和开发的效率,保证产品的效果和质量,也能让用户有 ...
- 游戏开发中的物理之运动角色(2D)
游戏开发中的物理之运动角色(2D) 介绍 物理过程 场景设定 运动学特征 介绍 是的,这个名字听起来很奇怪."运动角色".那是什么?该名称的原因是,当物理引擎问世时,它们被称为&q ...
- 一些语法在游戏开发中的应用
一些语法在游戏开发中的应用 一.减少不必要的全局变量 二.动态二维数组 三.整数转换为字符串输出 四.播放音乐模板 一.减少不必要的全局变量 游戏开发中有些变量只需要在少数函数中传递,修改数值.如果不 ...
- J2ME游戏开发中时钟的简单实现
在java.util包中有一个TimerTask类,你可以扩展这个类并且实现他的run()方法,在run()方法中编写我们的逻辑代码.如果我们想制作一个游戏时钟,那么非常简单我们编写一个GameClo ...
- Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(
2019独角兽企业重金招聘Python工程师标准>>> 在Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(百搜技术) 在Java ME游戏开发中,经常需要进行碰撞检测 ...
- 机器学习将在游戏开发中的6种应用
机器学习正在改变几乎每个行业,从农业中的作物规划到医疗保健中的癌症诊断.这些主题通常会得到更广泛的讨论,因为它们已经产生了切实的,对人类有益的影响.对于游戏行业而言,不幸的是,游戏开发中的机器学习仍处 ...
最新文章
- Sharding-eth
- 雅虎成立特别委员会评估新战略选项
- java实现qq_java实现的类似qq聊天系统
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 2 assignment2_1
- 香蕉派路由功Openwrt、Android功耗对照測试
- 【java实训课】web网页相关知识点总结
- 一个关于php使用pdo方式进行数据库连接和处理的类
- 一个查看Cookie的便捷工具——EditThisCookie
- php如何获取ajax请求,php-从ajax调用获取json数据
- equals()方法
- 为什么Java开发人员都带眼镜 | 程序员搞笑段子合集
- ExtTabMenu 控件
- 原生中文版MyBB开源论坛效果展示
- 自旋锁、排队自旋锁、MCS锁、CLH锁
- 【2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) D】Count The Bits【数位DP】
- iozone文件系统性能评测工具
- Unity中的存档与读档
- 软件安装教程-Vivado2018.3/ISE14.7/Modelsim10.5/Keil5/AD18/Cadence17.2/CAD2016
- 网易云课堂Web安全工程师课程分享——第一章 Web介绍
- Qt QTableWidget的使用方式
热门文章
- linux卸载bzip2,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)
- 智能陈桥五笔输入法 for linux,在Linux下安装陈桥五笔输入法
- k8s基础知识学习配套黑马
- Cannot create fileC:\Users\LML\AppData\Local\Temp\EditorLineEnds.ttr。另一个程序正在使用此文件,进程无法访问。
- 如何用python编写问卷调查_通过Python实现自动填写调查问卷
- Zotero使用记录----1 下载与安装
- 小程序发布上线流程_小程序如何发布?微信小程序发布流程很简单
- 混合线性模型学习笔记4
- GL_TEXTURE_WRAP系列参数的取值
- 5年部队服役结束,退伍后我做了一名码农