十年前,那时候的网吧还不叫网咖,那时候没有王者荣耀也没有英雄联盟,那时候梦幻西游刚推出珍宝阁系统,那时候巫妖王的灵魂还封闭在冰封王座。
寻仙、穿越火线、征途、天龙八部……同时在线人数超百万的游戏纷纷涌现,那个中国网游群芳斗艳的年代,地下城与勇士无疑是最耀眼的那个。
dnf当年有多火?那年小编还在读初中,跟同学去网吧,一排排全是在玩dnf,当时有人爆了一把双龙魔影光剑,整个网吧都炸了,一个地主家的傻儿子当即把手机押那儿,然后冲回家再取800块,一出门就摔了一跤,滋溜就爬起来继续跑,一边跑一边喊千万别卖给别人……
不过呢,玩游戏不如做游戏,再牛逼的游戏号在程序员的眼里就是一堆代码,所以今天呢,小编要跟大家说说如何进行游戏开发。
作为一款横屏格斗游戏,绚丽的画面和流畅的动作是dnf的精髓,那么我们先从画面和动作着手。
关于gdi的初步认知
什么是gdi,gdi是windows与生俱来的图形设备接口(graphicsdeviceinterface)的英文缩写,主要任务是负责系统与绘图程序之间的信息交换,处理所有windows程序的图形和图像输出。
利用它我们可以很轻松的在屏幕上绘制图形了。也能利用它开发一些绘制要求不高的游戏,比如小时候玩的魂斗罗,超级玛丽啊等小游戏,或一些rpg(角色扮演类)小游戏,我们都是可以用gdi制作的。
虽然lol,dnf,qq炫舞等这些游戏是directx或opengl这类图形接口,但对新手小白来说最简单的还是gdi。
准备一张bmp格式的背景图片,创建一个窗体,在窗体上进行绘制,然后通过getdc函数来获取窗体的设备环境dc
获取设备环境后,还需要在内存中创建一个设备环境,我们在内存中画图,画好以后,直接拷贝到窗体的设备环境上
关于初步动画实现
3d是渲染的艺术,具备动画状态机和混合树的方案在如今基本是标配,如常见的unity的mecanim,ue4的animation blueprint。
那如何利用gdi在游戏中实现动画效果呢?
2d游戏是贴图的艺术,贴图基本有两种方式,一种采用定时器,一种则是利用消息循环,目前都是采用的第二种绘制方式(消息循环),也就是说游戏中的动画都是一帧一帧的帖上去的,就像放电影一样。
例如这个动画(素材来自dnf),通过一个数组把他们保存起来,然后依次播放。下面是部分代码:
运行效果图:
是不是感觉还不错呢?其实地下城与勇士这类游戏是比较适合新手小白开发的,相比于3d游戏的骨骼动画,2d横版游戏的序列帧更简便。
在这个娱乐化时代,游戏已经融入到我们的生活成为了一种生活方式,游戏开发也是当下和未来绝对热门的行业,但是对于初学者而言呢,缺乏经验和指导往往会举步维艰。
数据中心的光纤跳线故障与排除
分布式KVM坐席管理系统,打造IP架构的系统大融合
shijidianli测量电力电缆(故障)的产品有哪些?
华为发布交互体验App“星光巨塔”发力元宇宙
双极性移相控制高频脉冲交流环节逆变器研究
小白如何用C++制作网游DNF技能特效
通宇通讯:卫星通信相关多款产品处于测试阶段
电流互感器的种类和结构特点和工作原理和作用
全球人脸识别算法测试结果排名:中国包揽前五
openai是哪个公司的 OpenAI的代表产品有哪些
水塔水位系统PLC控制
岳麓峰会正当时,开鸿智谷交出智慧教育新答卷
墨西哥计划将在三年内建设三座机场来改善首都机场饱和的问题
华为以202.8%的IaaS收入增长至27亿美元位列前五
LDO应用的考量因素
谷歌在智能音箱市场的竞争越来越大 一个重要原因是中国市场的崛起
5G时代,CDCE联手EP电力展打造新基建一站式采购平台
Linux网络子系统的DMA机制的实现方案
人工智能的兴起会影响人类的工作岗位吗
屏式铠装热电偶爆管原因及改进措施