WPF game developing 学习备注

今天安装了vs2010,想写个用户自定义控件,(customcontrol 不是usercontrol),因为是第一次接触wpf,就查了下资料。

msdn上有教材,

Walkthrough: Create a Button by Using Microsoft Expression Blend
最近有写个silverlight game的冲动。看了网上著名的深蓝色右手 http://www.cnblogs.com/alamiye010和silvery night http://www.cnblogs.com/nowpaper 的文章,说实话右手写的东西很多,不过不好理解。silvery night的好操作点。
不想老老实实从头看了。比较毫无wpf的知识,从头看路太长。
关于游戏开发的经验最多的是来自以前看的一本xna的书,对游戏循环有点了解。印象最深的是“所有的东西都是精灵的概念”。
既然如此,就从这个概念出发,来写个精灵吧。希望以现有的编程知识消化掉wpf,Silverlight这些怪物,不懂就查嘛。总不能把有限的时间用在无限的看书中。
来设想下我们的游戏
“类似rpg的2d游戏比如大航海时代4,以窗口形式运行。要有一条或者多条故事主线,整个游戏由许多的固定事件组成,触发事件则播放一段故事动画。当然要有地图,先做单机版。人物有很多的状态,这些状态触发事件。”
所以第一步是地图的制作。整个地图怎么来设计?当前场景如何呈现?天气如何呈现?地图背景以及地图上的npc如何处理?
初步想法是地图用很多的小图片拼接而成,用bmp格式。每个小图片是当前场景大小,内存中始终读入当前场景的8领域或者24领域。
地图上的npc保存在数据库中,npc也是精灵哦。每个npc有类型,名称,坐标。随机npc则根据算法生成类型,名称,坐标。
当然还得有小地图功能。小地图显示24领域的略缩图。
这就是上帝的前6天了,要有光,要有风,要有雨露和万物。
下面就动手做吧。碰到新知识我就记这里。
制作地图当然是用ps最熟练了。不过也可以了解下blend是怎么回事。
最好是做个地图编辑器了。发现做地图也是很麻烦的事情。 blend4中有user guide 必看。
blend的使用。请看“备注2”
blend的界面初看真让人生畏。所以还是用ps做了个地图。当然还只是一个背景。不过也花了几个小时,从google地图剪切了一个2000公里比例的世界地图。如果要真实游戏,地图得5公里比例。光是做这个地图都至少花2个月的人工。还得在做一个数据库标注npc,设置npc的属性,估计没4个月下不来。
先放一放吧。先在这个小地图上放个小精灵,让他能接受键盘和鼠标动作在地图上移动吧。
其实,这个工作,会编程的人都能做。用winform也可以实现。用wpf的原因是因为winform使用的gdi,gdi+技术速度太慢,wpf则利用了directx和gpu,速度快很多。
主要的程序结构如下。show下英语,见笑见笑。
game
{
    load backgroundImage into canvas1(可以根据当前状态,导入不同的背景)
    load a sprite into canvas2(可以根据当前状态,导入不同的sprite)
    while not end
    {
     listen to user's command(如果控件继承自control,则很简单了。只是sprite能继承自winform control 吗?当然sprite完全
                                               还需要扩展更动event,大致想来继承自winform control是不太好的。)
     execute the command
    } 
}
现在,我们需要开始制作精灵了。由于对wpf和精灵一点都没接触过。
当然需要看点资料。请看备注3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值