flash 游戏设计笔记:人物行走一种做法 (2)
flash 游戏设计笔记:人物行走一种做法 (1) http://blog.csdn.net/hero82748274/archive/2009/12/16/5020328.aspx
将上次的源码进行修改一下,可以分离出一些共用的代码。
设计一个主角类,这个主角类实现了一个方向的接口。
player 实现IDirection4 的方向接口 ,意思就是代表上下左右四种方向,以及站立不动的接口。可以看下面的图观看他们的之间关系
这种是适合于四种方向的图的做法。
package com.game
{
//人物四方移动方向的接口
public interface IDirection4
{
function MoveLeft(directtion:uint,dx:int):void;//向左
function MoveRight(directtion:uint,dx:int):void;//向右
function MoveUp(directtion:uint,dy:int):void;//向上
function MoveDown(directtion:uint,dy:int):void;//向下
function Stand():void;//站立
}
}
player.as
package com.game
{
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import com.game.BitmapSplice;
public class Player implements IDirection4
{
private static var player:Player=null;
public var MaxStep:int=3;
public var contain:Sprite=new Sprite();
public var speed:int=10;
private var vx:Number;
private var vy:Number;
private var Step:int=0;//步数
private var Direction:uint=0;//方向
private var bitmap:BitmapSplice=new BitmapSplice();//位图切割
private var IamgeList:Array;
public function Player()
{
}
//为主角对象进行贴图
public function setBody(source:BitmapData,rows:int,cols:int):void
{
IamgeList=bitmap.Splice(source,rows,cols);//将位图分成很多块
}
public function MoveLeft(directtion:uint,dx:int):void
{
Move(directtion,dx,0);
}
public function MoveRight(directtion:uint,dx:int):void
{
Move(directtion,dx,0);
}
public function MoveUp(directtion:uint,dy:int):void
{
Move(directtion,0,dy);
}
public function MoveDown(directtion:uint,dy:int):void
{
Move(directtion,0,dy);
}
public function Stand():void
{
Step=0;
}
public function getX():Number
{
return con
相关文档:
编写uboot下Nor Flash驱动的注意事项
Version: 0.8
Date:20090823
Author:crifan
Mail:green-waste(At)163.com
最近工作遇到的,走了点弯路,记录下来,也许能给其他人点帮助。也算是自己记录点东西,万一需要,以备后查。
【Nor Flash中的一些术语】
1.
Bottom/Top Boot Sect(底部/顶部 启动块)
所谓的boot sect ......
显示一个GIF动画
procedure ShowGIF( GIFFileName : String );
var TargetFrameName,PostData,Heads,Flags : OleVariant; URL : widestring; begin TargetFrameName := '';{指定Frame的空字符串时,则在当前Frame中打开动画文件} PostData := false;{不发送数据} Heads := '';{Header信息为空} Flags := 0;{Flags设为0} ......
举例子如下:
<<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="400" height="60">
<param name="movie" value="你的flash路径" />
<param name="quality" value="high" / ......
在flex开发环境中编写as3代码是很方便的,借助flex开发环境代码都有自动提示功能,但是在做flash游戏的时候,在涉及到对话框的时候,我遇到一个很棘手的问题,就是在美工用flash cs布局好了的界面,我在界面上命名了实例(如textfield类型 var nameText:String),在导出这个类(guestDialog)的时候(这个类继承自MovieClip ......
有好几年没有接触过Flash了,MM公司被Adobe收购后,Flash应该来说发展的是非常好的。
Adobe的策略好像与微软有点类似,提供一个免费甚至开源(微软的Windows SDK暂时是不可能开源了)的SDK让所有用户都有机会来用。
在这种情况下,Flash开发的含义已经变得比较泛,不再依靠以前网页三剑客套件中的Flash来开发。也就是不管 ......