- 浏览: 48386 次
- 性别:
- 来自: 杭州
最新评论
由于AS3的推出和网速的提高~~
用Flash来实现网络游戏已经成为可能..
今天来讨论一下一般RPG中常见的人物走动的实现方法..
一般的人物走动..都是由一组连续的动作组成...
像下面的图片:
实际操作过程有两种~~一种是把图片分割成很多的小块
另一种是用mask只显示需要的区域~然后用移动图片的方式来处理..
我们先说说第一种方法..
拿上面的图片为例
一、把资源图片通过任何方式加载进swf并生成bitmap对象
二、根据单个动作的宽度和高度生成单独的bitmapData对象的数组
三、通用Timer或EntarFrame等方式循环显示每个动作
//Copyright © 2008. Http://L4cd.Net All Rights Reserved.
package
{
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;
[SWF(width="80", height="91", backgroundColor="#ffffff", frameRate="24")]
public class Run extends Sprite
{
[Embed(source="0002.png")]
private var Png002:Class;
private var m:Bitmap;
private var w:Number = 80;//单动作宽度
private var h:Number = 91;//单动作高度
private var c:Number = 8;//动作数
private var bmp:Array;
public function Run()
{
m = new Png002() as Bitmap;
bmp = [];
for(var i:uint=0;i
{
var bit:BitmapData = new BitmapData(80,91);
var mx:Matrix = new Matrix();
mx.tx = -i*w;
bit.draw(m,mx,null,null,new Rectangle(0,0,w,h));
bmp.push(bit);
}
m.bitmapData = null
addChild(m)
var timer:Timer = new Timer(50);
timer.addEventListener(TimerEvent.TIMER,frame);
timer.start();
}
private function frame(e:TimerEvent):void
{
bmp.push(bmp.shift());
m.bitmapData = bmp[0];
}
}
} //Copyright © 2008. Http://L4cd.Net All Rights Reserved.
package
{
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;
[SWF(width="80", height="91", backgroundColor="#ffffff", frameRate="24")]
public class Run extends Sprite
{
[Embed(source="0002.png")]
private var Png002:Class;
private var m:Bitmap;
private var w:Number = 80;//单动作宽度
private var h:Number = 91;//单动作高度
private var c:Number = 8;//动作数
private var bmp:Array;
public function Run()
{
m = new Png002() as Bitmap;
bmp = [];
for(var i:uint=0;i
上面的代码运行结果如下
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/4806.html
发表评论
-
从html链接调用ActionScript函数
2010-04-10 14:29 659从书上刚了解这个asfunction这个东东时,感觉发现新大陆 ... -
精美全Flash个人网站的制作全程解析
2010-04-10 14:29 633原文件下载地址: http:/ ... -
精美全Flash个人网站的制作全程解析
2010-04-10 14:28 591原文件下载地址: http:/ ... -
用flash打造电子地图实战
2010-04-10 14:28 1137关于flash,大家或多或 ... -
Flash Media Server 起步(13)再说说SO....onSync(list)
2010-04-10 09:49 517很早以前写过so,当时 ... -
FlaMplayerV3里应用到的小技巧:加载缓冲
2010-04-10 09:48 568"var t0 = FMSound.getBytes ... -
FlaMplayerV3里应用到的小技巧:加载缓冲
2010-04-10 09:48 562"var t0 = FMSound.getBytes ... -
最新利用FMS做在线视频录制教程
2010-04-10 09:48 648这程序写的挺简单的..不懂的呢,可以参考下..高手就别笑我了. ... -
最新利用FMS做在线视频录制教程
2010-04-10 09:48 561这程序写的挺简单的..不懂的呢,可以参考下..高手就别笑我了. ... -
我对as3声音架构的理解
2010-04-09 12:44 499一直都对as3的声音架构 ... -
as3.0游戏开发之打气球系列(一)
2010-04-09 12:44 495好久没有写正经的文章 ... -
as3按钮事件
2010-04-09 12:44 593在刚开始学As3时,如果不知道按钮的事件如onPress的话 ... -
【as3】ActionScript 3.0体验试教学视频教程
2010-04-09 12:43 655很不错的视频教程 原文地址: http://blog.sina ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 12:43 532[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
ActionScript 3.0(as3)实现的A*寻路算法源代码下载
2010-04-09 08:23 831曾经写过A*寻路算法的教程,但没有贴出任何代码,这次代码全都贴 ... -
扇形变圆形并设置为图片的遮罩
2010-04-09 08:23 847[ 制作思路 ] 复制小扇形并逐渐旋转成一个圆 [ 知识点 ] ... -
扇形变圆形并设置为图片的遮罩
2010-04-09 08:23 1122[ 制作思路 ] 复制小扇形并逐渐旋转成一个圆 [ 知识点 ] ... -
flash游戏开发中的人物走动实现方法
2010-04-09 08:22 982由于AS3的推出和网速的 ... -
跑动的小火柴人(flash动画)
2010-04-08 07:48 511本教程描绘的是完全用ActionScript做的一个火柴棍小人 ... -
xmlConnector + MenuBar 菜单
2010-04-08 07:48 580使用actionScript写过 [url=http://w ...
评论