超级玛丽制作揭秘5魔法攻击 类MYANIMAGIC
来源:互联网 发布:启动和关闭mysql 编辑:程序博客网 时间:2024/05/01 17:46
类说明:玩家有两种攻击方式:普通攻击(子弹),魔法攻击(旋风)。这个类是专门处理旋风的。我最初的想法是用一些特殊的bitblt方法制造特效,例如或、与、异或。试了几次,都失败了。最后只能用“先与后或”的老方法。这个类可看成MYANIOBJ的一个简化版,只支持不规则图片的显示。
成员函数功能列表:
class MYANIMAGIC:public MYBITMAP
{
public:
MYANIMAGIC();
~MYANIMAGIC();
//init list
//功能 初始化宽度数组 高度数组 纵坐标数组(必须有黑白图)
//入参 宽度数组地址 高度数组地址 图片数量
//(图片纵坐标信息由函数计算得出)
void InitAniList(int *pw,int *ph,int inum);
//功能 设置dc
//入参 显示dc 临时dc(用于图片句柄选择) 临时dc(用于特效实现)
void SetDevice(HDC hdest,HDC hsrc,HDC htemp);
//show
//功能 显示某个图片的某帧
//入参 横纵坐标(显示位置) 图片id(纵向第几个) 帧(横向第几个)
void DrawItem(int x,int y,int id,int iframe);
//宽度数组
int wlist[20];
//高度数组
int hlist[20];
//纵坐标数组
int ylist[20];
//用于特效的临时dc, 功能没有实现?
HDC hdctemp;
};
函数具体实现很简单, 可参照MYANIOBJ类.
使用举例
定义
mario01/mario01.cpp(87):MYANIMAGIC bmMagic;
初始化加载位图
mario01/mario01.cpp(250): bmMagic.Init(hInstance,IDB_BITMAP_MAGIC,1,1);
设置dc
mario01/mario01.cpp(251): bmMagic.SetDevice(hscreen,hmem, hmem2);
初始化宽高信息
mario01/mario01.cpp(252): bmMagic.InitAniList(mapanimagic[0],mapanimagic[1],sizeof(mapanimagic[0])/sizeof(int));
变量声明
gamemap.cpp(22):extern MYANIMAGIC bmMagic;
在逻辑层中, 显示旋风图片
mario01/gamemap.cpp(568): bmMagic.DrawItem(xstart,ystart, 0, FireArray[i].iframe);
附:
超级玛丽第一版源码链接:http://download.csdn.net/source/497676
超级玛丽增强版源码链接:http://download.csdn.net/source/584350
- 超级玛丽制作揭秘5魔法攻击 类MYANIMAGIC
- 超级玛丽制作揭秘15金币提示,攻击提示
- 超级玛丽制作揭秘16攻击方式切换
- 超级玛丽制作揭秘1
- 超级玛丽制作揭秘2
- 超级玛丽制作揭秘3 游戏背景类MYBKSKY
- 超级玛丽制作揭秘4图片显示 类MYANIOBJ
- 超级玛丽制作揭秘6时钟控制 类MYCLOCK
- 超级玛丽制作揭秘7字体管理 类MYFONT
- 超级玛丽制作揭秘8跟踪打印 类FILEREPORT
- 超级玛丽制作揭秘22玩家角色类MYROLE
- 超级玛丽制作揭秘25类GAMEMAP 全局变量
- 超级玛丽制作揭秘12旋风攻击,小怪,火圈
- 超级玛丽制作揭秘17地图物品
- 超级玛丽制作揭秘18背景物品
- 超级玛丽制作揭秘19视图
- 超级玛丽制作揭秘20地图切换
- 超级玛丽制作揭秘21游戏数据管理
- 菜鸟求助啊!~~请各位会java的大哥大姐来帮帮小弟!
- C#中调用系统API打开和关闭光驱
- 我的新生活
- 中国也可以带号转网了,一年以后吧。
- 数据结构-算法: 插入排序(希尔排序法)
- 超级玛丽制作揭秘5魔法攻击 类MYANIMAGIC
- 这段时间在hp安腾上面折腾了websphere+cics,慢慢写出来和大家分享
- .net xml操作基类
- Math的 floor,round和ceil的总结
- 大端(Big Endian)与小端(Little Endian)详解
- 什么叫主动的工作
- 数据结构-排序: 交换排序(冒泡排序法)
- Ubuntu 下安装Subversion
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统