如何在WP7上用XNA写2D游戏(一)
游戏背景:
时间是欧洲中世纪,一位英雄坚守着他国家最后的城堡。一旦敌人攻破这个城堡,他的任务就失败了。这位英雄有着百步穿杨的本领,还有强大的魔法技能。虽然敌人发起了一波波潮水般的攻击,但他都顽强的击退了。
敌人不甘失败,派出了各种兵力,长矛兵,盾牌兵,骑兵,后来还调来投石车,空中的狮鹫骑士。敌人势要把这个城堡攻下,这位最后的英雄能守住城堡吗?
开发历程:
这个游戏我从过年开始构思,然后和美术方面的朋友沟通,本打算用XCODE写在Iphone上,后来发现自己XCODE游戏开发经验不是很足,并且App store上的游戏竞争激烈,类似的游戏也有了。于是我转到WP7平台上,用自己最拿手的C#来开发。
我花了2周左右的时间熟悉了XNA框架,本来想用Sliverlight写的,权衡了下,觉得在WP7上写游戏还是XNA正统。游戏原型出来,验证用手拉动弓箭来控制方向和力度能够实现后,我就开始正式写这个游戏。
期间,对于操作模式有两种打算,一种是用手拉,一种自动射击模式。用手来可以考验用户的操作性,但是时间长了,玩家就会觉得手很疲劳。于是我又写了自动射击模式,玩家只要手点到某个方向,就可以自动射击。在游戏正式发布时,我想提供这两种模式,提供给用户切换。
然后就是和朋友沟通游戏UI方面的问题,探讨兵种的动画设计,技能设计。
完成的功能有:
1.给城堡设置了血量,降到0就失败,城堡损伤效果会有动态效果。
2.写出了普通,火,冰箭的魔法飞行效果
3.模拟出了重力加速度下的飞行抛物线。
4.游戏的设置保存XML并储存,以及序列化和反序列化
5.选中技能图标的闪烁动画。
6.写完了多重,多重火,冰箭
7.给兵种添加了阴影效果
8.增加了技能CD效果
9.增加了技能树界面,新的技能需要金币来学习
开发心得:
CastleDefense 游戏开发到现在,基本完成核心的功能,但是游戏关卡的可玩性感觉还不够高,游戏难度需要精心调整。坦白的说,和国外团队游戏大作相比,自己写的游戏还是比较简陋。
不过,任何一个游戏和开发者都是需要成长的,就算暴雪也是从一个小工作室起步的。希望大家给出中肯的意见,欢迎拍砖和鼓励。
我也是在工作之余来开发的,时间精力的确有限。不管怎么样,我会继续完成这个游戏。
游戏玩法:
点击屏幕,让弓箭射向进攻的小兵。 屏幕左下角是技能图标,可以点击选择技能,如果技能为红色,说明没有学习该技能,技能有CD限制。
屏幕下方中央 齿轮 按钮 点击后出现技能学习界面,需要花金币来学习技能。
Tips: 投石车最怕火攻,体积大的兵种是BOSS,最好优先消灭,请使用冰冻箭降低它的速度。
游戏难度现在设定很高,我玩到第9关就手忙脚乱了,当然这个只是测试版,还需要做很大修正的。请大家多提意见,好来完善这个游戏。
游戏视频:
CastleDefense视频
游戏Demo下载XAP包地址:
微软APP HUB的Beta测试也在提交中,如果希望未来在Zune里下载到Beta测试版,请留下你的LiveID(也就是你的wp7手机关联的LiveID,也就是电子邮件地址).
转载于:https://www.cnblogs.com/wangergo/archive/2011/08/17/2142880.html
如何在WP7上用XNA写2D游戏(一)相关推荐
- 在Windows phone上用XNA写2D游戏第五季
第二章里我们提到了如何把2D的纹理用SpriteBatch显示.对于游戏而言,一个精灵(sprite,在游戏编程里指一个对象的原型,比如一个战士,一个怪物)不可能不做动作,就拿简单的走动来说,手脚一定 ...
- linux安装2048游戏,如何在CentOS上安装一个2048小游戏
如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...
- [ROG CHAKRAM] 如何在Steam上设定我的鼠标游戏杆?
[ROG CHAKRAM] 如何在Steam上设定我的鼠标游戏杆?请根据如下步骤于Steam上设定ROG Chakram鼠标游戏杆. 1. 开启Steam 设定->控制器->一般控制器设定 ...
- 如何在电脑上玩香肠派对_如何在Chromecast上玩多人派对游戏
如何在电脑上玩香肠派对 So you have a Chromecast. Did you know that you can do more than just stream movies, mus ...
- 如何在VS2017上部署XNA
参考链接: [1]http://mxa.codeplex.com/releases/view/630357 [2]https://www.reddit.com/r/csharp/comments/5u ...
- 如何在Mac上用汇编语言写HelloWorld
首先,Mac自带nasm,不过我们要先将其升级. 升级它的方法有很多种,因为我已经装好了homebrew,所以我直接在终端输入: brew install nasm 这样就升级啦- 接下来,创建一个H ...
- 通过邮箱找到steam账户_如何在Steam上实际找到好的游戏
通过邮箱找到steam账户 In 2016, PC game distributor Steam grew its already-impressive library by 4,207 new ga ...
- 2D游戏开发 - SkyGameEngine2d 创建一个游戏项目
2D游戏开发 - SkyGameEngine2d 创建一个游戏项目 一.前期准备 二.获取引擎工具 2.1 下载工具集 2.2 解压并且打开工具 三.使用工具 3.1 工具界面介绍 3.2 设置引擎路 ...
- 如何在ubuntu上写一个类似sl跑火车指令,“跑甜甜圈”
如何在ubuntu上写一个类似sl跑火车指令,"跑甜甜圈" 首先创建.c文件 #include <stdio.h> #include <math.h> #i ...
最新文章
- 女朋友的Mysql练习题
- awk的集合操作实现
- 浅谈主动学习(Active Learning)
- VC获取其他进程ListCtrl内容
- DCMTK:DSRDocument类的测试程序
- mysql安装版安装
- 安装mysql查看随机密码命令_deepin安装MySQL没有弹出设置root密码怎么进行修改
- 后台管理系统PRD该怎么写?
- 双目测距算法matlab模拟,基于BM算法的双目测距.pdf
- 各种排序是否稳定,不稳定是为什么
- 在Excel中如何提取括号中的数字
- 你的windows许可证即将过期
- 2022-2028年全球与中国端点保护平台(EPP)行业市场深度调研及投资预测分析
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- bash alias命令03
- 阿里云服务器硬盘不够用怎么办?
- 抖音seo优化怎么做?抖音seo流程详解
- 2016.05.04,英语,《Vocabulary Builder》Unit 22
- CSDN博文“待审核”检测规则分析之如何避免“待审核”
- Linux开机启动流程分析