冒险岛之所以能长久的存在,很大一部分原因是因为它的美工设计的非常的精细,以及独特,那么独特以及美究竟体现在哪些方面呢?

今天我就带大家来分析几幅地图吧。

好吧,我们就拿上面这幅美景来分析吧。

1.阳光。

因为是阳光照耀着的地图,而且是在白天,体现这是中午,否则不会有这么强烈的阳光。

我们只能看到阳光却看不到太阳:原因只有一个,地图不够高,我们看不到太阳。

但是,事实真的是这样的吗,我个人认为,这里其实只是一个欲情故纵的手法吧,游戏厂商设计的其实就只有这一束阳光。

而这束阳光其实只是为了迎合大家的思维习惯而已,这束阳光还有一个特点,就是当这束阳光照耀到一些物体的时候,会有一个前后的区别。

大家发现没有,大一点的框框在前面,而小一点的框框是在后面的,那么我们就会提出这么一个观点,在2D游戏中,不管是在前面还是在后面,

如果是阳光的话,肯定要形成一定的立体感,这样才符合逻辑,这是用户体验中很重要的一个地方。

2.阳光永远都不可能一成不变,大家知道阳光如果从树上穿透过来的话,肯定是有稀疏和密集的区别的,那么我们在这里也会有做这种区别的限制。

大家可以进这幅地图,然后在这幅地图的左边去运动,大家发现如果在地图的最左边,那么将看不到什么阳光,而一直往右边走的话,将会看到更多的阳光,

这和我们走路是一样的,我们碰到一颗很大的树,当我们离这棵树很近的时候,那么阳光将被遮挡得很多,如果我们距离很远但是又在树的遮蔽范围内的话,

那么从树当中将会有更多的阳光穿透出来,如下面2张图片所示。

下面图的阳光就比上面图的要充足很多哦。

还有一点大家要注意,阳光所照射的范围就是上图红框的区域,这也是游戏设计者故意而为之的。

具体我觉得应该是为了凸显它的重要性吧,就是那个新的暗黑天堂。

再跟大家介绍一点,今天的就结束了。

大家注意到了没,一样是桌子,一样是我,另一样是NPC,这3项根据重要性然后来控制叠放次序,从而形成一种立体效果,

当然具体是怎么实现的我并不清楚哈,我只是分析一下,今天就到这里了哦。

浅谈2D游戏设计模式3 - 冒险地图之美(1)的更多相关文章

  1. 浅谈2D游戏设计模式--游戏剧情设计(1)

    博主不才,人生有2大爱好,写程序和玩游戏,本人玩的又是一款2D的在旁人看来弱智的网络游戏. 这款游戏在中国的名称叫做冒险岛,不知道园子里有没有人玩过. 我打算有空的话,就把我玩游戏中的心得和程序结合起 ...

  2. 浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)

    玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟. 说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的! ...

  3. android开发之路06(浅谈单例设计模式)

    设计模式之单例模式: 一.单例模式实现特点:①单例类在整个应用程序中只能有一个实例(通过私有无参构造器实现):②单例类必须自己创建这个实例并且可供其他对象访问(通过静态公开的访问权限修饰的getIns ...

  4. 【Unity游戏开发】浅谈Unity游戏开发中的单元测试

    一.单元测试的定义与作用 单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性.一个单元测试 ...

  5. 浅谈MVC&MTV设计模式

    在目前基于Python语言的几十个Web开发框架中,几乎所有的全栈框架都强制或引导开发者使用MVC设计模式.所谓全栈框架,是指除了封装网络和线程操作,还提供HTTP.数据库读写管理.HTML模板引擎等 ...

  6. 浅谈DAO工厂设计模式(工厂模式的好处)

    随着软件分层设计的流行及广泛的应用,对于DAO的设计模式大家已经不再陌生了,DAO层已经在软件系统的开发中成为必不可少的一层,将后台的数据层和前台的VO进行分离.前段时间也针对于DAO的设计介绍过一个 ...

  7. 浅谈常用的设计模式(new)

    简单工厂模式 抽象工厂模式 代理模式 装饰者模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰着模式比生成子类更加灵活. 建造者模式:builder构建

  8. 【转载】浅谈游戏开发之2D手游工具

    浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android  程序设计: 其它  编程语言:   引擎/SDK ...

  9. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

随机推荐

  1. JSP实现在项目在网页上查询

    <table> <caption>user</caption> <tr> <td>编号</td> <td>姓名< ...

  2. Java中堆内存和栈内存详解

    Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间 ...

  3. ASP.NET TextBox 当鼠标点击后清空默认提示文字

    ASP.NET TextBox 当鼠标点击后清空默认提示文字 [ 方法一] 前台代码: <div>    <asp:TextBox ID="txtName" ru ...

  4. C#基础_单例模式

    控制某个类型的实例数量-唯一一个 class Program { static void Main(string[] args) { test t1 = test.GetInstance(); tes ...

  5. C#_基础:排序算法

    //希尔排序 static int[] ShellSort(int[] array) { if (array != null) { int[] list = { 9, 5, 3, 2, 1 }; fo ...

  6. 广州PostgreSQL用户会技术交流会小记 2015-9-19

    广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...

  7. ASP.NET MVC 控制器激活(一)

    ASP.NET MVC 控制器激活(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅 ...

  8. 分析nuget源码,用nuget + nuget.server实现winform程序的自动更新

    源起 (个人理解)包管理最开始应该是从java平台下的maven开始吧,因为java的开发大多数是基于开源组件开发的,一个开源包在使用时很可能要去依赖其他的开源包,而且必须是特定的版本才可以.以往在找 ...

  9. C# 的 Dictionary 寫入前應注意事項

    一個已上線.用戶龐大的系統,幾個月來第一次出現這個系統錯誤訊息 : 「已經加入含有相同索引鍵的項目」「已添加了具有相同键的项」An item with the same key has already ...

  10. JS.中文乱码,Jsp\Servlet端的解决办法

    JS.中文乱码,Jsp\Servlet端的解决办法 2010-03-08 15:18:21|  分类: Extjs |  标签:encodeuricomponent  乱码  urldecoder   ...