arpg网页游戏之地图(一)
【转】http://www.cnblogs.com/BlueWoods/p/4681572.html?from=timeline&isappinstalled=1
开发arpg网页游戏一项比较重要的难点是游戏推图。游戏中主城的地图比较大,我遇到到最大的是8000*6000的地图,比较小的就是副本地图,有可能还占不了一屏。像这种比较大的地图,一般都是分块加载的,游戏中不可能一次将整个地图添加到舞台上,得根据角色的移动视窗来加载地图。这个时候会碰到三种情况:人动,地图动;人不动,地图动;人动,地图不动。我试过前两周情况,人动,地图动,这种情况画面看着比较流畅,人不动,地图动,不太流畅。所以选择了前者。
什么是人动,什么是地图动?开发网页游戏都是分层的,一般分为:地图层,地图特效层,人物层,特效层,UI层,信息提示层等。人动的意思是人物层xy坐标的变化,地图动,就是地图层的xy坐标变化。地图层,会根据人物视窗的移动而变化。
人物在地图中移动,都是按照格子计算的。在页游前期,格子都是菱形的,后来好像都变成正方向了。两者唯一的区别:在不同的方向移动速度有所不同。像我现在用的是正方形,每个格子大小是25*25的。也就是说8000*6000的地图里会有 8000*6000/25*25个格子。服务器计算位置都是格子的XY坐标。所以在小地图上显示的人物坐标都是格子坐标,不是像素坐标。还有一个概念是地图块,地图分块多大的都有,并不是越大越好,也不是越小越好。我用的地图块是200*200的,所以要计算需要显示的地图范围,要根据格子坐标和地图块大小来计算。
游戏推图,还会涉及下面几个问题:
- 人物视窗(ViewPort)
- 按需加载地图块算法
- 地图优化策略:
- 地图块加载队列
- 渲染策略优化
- 未加载前显示马赛克提升玩家体验
最后解释下,为什么地图块不是越小越好,也不是越大越好。因为AS中addChild和removeChild都会触发AS的重回事件,影响效率。地图块越小,add和remove的次数就会越多,地图越大,AS重回的区域就会越大,也会影响效率。所以适中最好,这并没有一定规则。我的是参考傲剑的地图大小。
转载请表明出处
arpg网页游戏之地图(一)的更多相关文章
- arpg网页游戏之地图(二)
[转]http://www.cnblogs.com/BlueWoods/p/4684557.html 这一节说说视窗,这个视窗,也就是游戏的视角.现在的网页游戏分为2D游戏,2.5D游戏和3D游戏,2 ...
- arpg网页游戏之地图(三)
地图分块加载类MapEngine,主要包含以下属性: g 地图层graphics,地图将画在上面 buffPixelRange 地图加载范围矩形 viewPort 屏幕视窗 currZoneArr 已 ...
- arpg网页游戏之地图(四)
这一节主要是针对上一节的补充,关于地图的优化策略上一节中已经涉及了一些,这一节具体说下. 地图块加载队列:就拿1280*800的屏幕分辨率来讲,大约需要加载的地图块为30~35块之间,如果这个时候一下 ...
- arpg网页游戏特效播放(一)
网页游戏中的特效,主要包括:场景特效,攻击特效和UI特效三种.场景特效是在地图层上播放的特效,攻击特效主要是技能触发的一些特效,UI特效是面板上的一些特效,还有一些在人物身上播放的特效,例如脚底光圈特 ...
- 网页游戏开发秘笈 PDF扫描版
精选10种常见的游戏类型,透过典型实例,深入剖析游戏引擎及工具的选用技巧,详细讲解每款游戏的制作过程,为快速掌握网页游戏开发提供系统而实用的指南. 网页游戏开发秘笈 目录: 译者序 前 言 导 言 ...
- 推荐21款最佳 HTML5 网页游戏
尽管 HTML5 的完全实现还有很长的路要走,但 HTML5 正在改变 Web,未来 HTML5 将把 Web 带入一个更加成熟和开放的应用平台.现在,越来越多的人尝试用 HTML5 来制作网页游戏等 ...
- 基于html5实现的愤怒的小鸟网页游戏
之前给大家分享一款基于html5 canvas和js实现的水果忍者网页版,今天给大家分享一款基于html5实现的愤怒的小鸟网页游戏.这款游戏适用浏览器:360.FireFox.Chrome.Safar ...
- 解决unity3d发布的网页游戏放到服务器上无法使用的问题
http://www.unity蛮牛.com/blog-2429-1226.html 第一次把unity3d发布的网页游戏放到服务器上(Win2003),发现无法使用.可以尝试以下办法. ...
- 40个容易上瘾的HTML5网页游戏,总有一款适合你
我记得姐姐家的孩子在刚刚才学会走路,说话还不能完整的时候就已经能自己用小手点出小游戏的网站来一个人自娱自乐.我一直在想这一代跟着计算机一起茁壮成长的孩子会不会也和美国那一代人一样,出现9岁的黑客和计算 ...
随机推荐
- PAT (Basic Level) Practise:1028. 人口普查
[题目链接] 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是 ...
- Linux学习方法
应该如何提问? 先要尝试自己解决 - 帮助 - 文档 - 示例 提问的智慧 - 问题详尽 - 贴图
- find命令学习
find命令与locate命令的区别: locate: 非实时查找: 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时系统自动进行,可以用updatedb命令更新索引: 查找速度快: 非精 ...
- 抓包软件PowerSniff开发计划
目前抓包的工具不顺手: (1)smartsniff, minisniffer不支持插件 (2)wireshark,omnipeek插件过于复杂,还有不是要装驱动就是admin权限 打算重写一个,第一个 ...
- 035. asp.netWeb用户控件之四通过用户控件实现投票和结果分析
用户控件Vote.ascx代码 <%@ Control Language="C#" AutoEventWireup="true" CodeFile=&qu ...
- html5-websocket初探
HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大意义. 什 ...
- Google 的开源技术protobuf 简介与例子
本文来自CSDN博客:http://blog.csdn.NET/program_think/archive/2009/05/31/4229773.aspx 今天来介绍一下"Protocol ...
- windows下PHP批量生成打包android程序APK-渠道txt植入apk文件
服务器安装php环境 下载 android-sdk-windows 下载JDK 1.打开zip支持 c:/windows/php.ini ,打开 exec 2.apk 支持mime添加 .apk a ...
- ATL-style templates
今天看了一下ATL自动生成的代码框架,然后研究了一下ATL类继承方式,感觉还挺特别的,特地从网上抄了一些例子和说明过来,以后复习时看看.先看一个WTL生成对话框的代码示例: #pragma once ...
- 网络--三种网络通讯方式及Android的网络通讯机制
Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别介绍这些接口的功 ...