C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(九) 2D游戏角色在地图上的移动

    本节将运用前两节的知识到实际的2D游戏人物在地图上移动中,同时也算是对前面八节的内容进行一次综合运用吧。

    那么先从最底层的地图讲起。首先我将一张地图添加进游戏窗口中,这里我同样使用Image控件:

        Image Map = new Image();

        private void InitMap() {

            Map.Width = 800;

            Map.Height = 600;

            Map.Source = new BitmapImage((new Uri(@"Map/Map.jpg", UriKind.Relative)));

            Carrier.Children.Add(Map);

            Map.SetValue(Canvas.ZIndexProperty, -1);

        }

    我将一个800*600名叫Map.jpg的地图图片添加进项目Map文件夹中,然后将它的Canvas.Zindex属性设置为-1,这样它就相当于地图背景的作用了。有了这张地图以后,我们需要对它进行障碍物设置:

 

    从上图可以看到,理想的状态下,障碍物为我用蓝色填充的区域,这是理想状态下障碍物的设置。但是实际运用中,就拿本教程来讲,因为GridSize设置为20,那么我们最终得到的障碍物将是这样的:

 

    从上图可以看到,每个绿色格子代表一个20*20像素的障碍物,只能说勉强达到描绘障碍物的效果吧。从而又验证了我们上一节所讲到的GridSize越小,定位将越精确,难道不是至理名言吗!

    有了这个思路,接下来我用了3个循环算法实现了左部分的障碍物设定:

            //构建障碍物

            for (int y = 12; y <= 27; y++) {

                for (int x = 0; x <= 7; x++) {

                    //障碍物在矩阵中用0表示

                    Matrix[x,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial)目录 本系列教程目录如下: C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(一)让物体动起来① C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二)让物体动起来② C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三)让物体动起来③ C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(四)实现2D人物动画C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(五)实现2D人物动画C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(六)完美移动 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(七)传说中的A*寻径算法 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(八)完美实现A*寻径动态动画 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(九)2D游戏角色地图上的移动 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十)斜度α地图的构造及算法 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十一)地图遮罩层的实现 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十二)神奇的副本地图 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十三)牵引式地图移动模式① C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十四)精灵控件横空出世!① C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十五)精灵控件横空出世!② C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十六)牵引式地图移动模式② C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十七)完美精灵之八面玲珑(WPF Only)① C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十八)完美精灵之八面玲珑(WPF Only)② C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(十九)完美精灵之八面玲珑(WPF Only)③ C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十)第一部分拓展小结篇 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十一)主位式地图移动模式 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十二)重构 - 让代码插上翅膀飞翔 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十三)自适应性窗口化与全屏化 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十四)Be careful!前方怪物出没 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十五)完美捕获精灵之神器 -- HitTest C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十六)通用型角色头像面板 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十七)战斗前夜之构建动态障碍物系统 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十八)经典式属性设计及完美的物理攻击系统 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(二十九)人工智能(AI)之追踪者 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十)大法师 - 华丽经典之轮回 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十一) 超酷万变的矢量魔法 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十二) 雷、混、冰、毒、火、风 - 幻化中的魔法魅力! C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十三) 锦上添花之魔法特效装饰 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十四) 地图编辑器诞生啦! C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十五) 地图编辑器的初步使用 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十六) 地图自定义切片与导出 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十七) 地图自适应区域加载 C#开发WPF/Silverlight动画游戏系列教程(Game Tutorial):(三十八) 地图间的传送与切换 摘自博客园深蓝色右手文章(原文链接:http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html) 压缩包内的2个文件,chm和exe格式内容一样

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值