- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地图分块加载的实现
地图分块加载的实现
先我们确定几个关键点:
窗口大小:windowW:Number,windowH:Number; 指的是可视区域的大小 我们可以把他想成客户端的分别率
单位地图大小: uintPicW:Number,uintPicH:Number; 指的是你切割的地图图片的单元大小。
当前地图坐标:position:point;这里大家就可以想成是你人物的当前所处坐标
阴影区域就是可视区域 A、B、C、D就是切割的单元地图我们可以很容易的求出窗口的4个点,所占的地图的索引:x0 = position.x - windowW/2;x1 = position.x + windowW/2;y0 = position.y - windowH/2;y1 = position.y + windowH/2;mapIndexX0 = uint(x0/256);mapIndexX1 = uint(x1/256);mapIndexY0 = uint(y0/256);
mapIndexY1 = uint(y1/256);
package com.heptaFmon.game.map.layers
{
import com.heptaFmon.config.Config;
import com.heptaFmon.core.BaseDisplayObject;
import com.heptaFmon.game.map.impl.GameMap;
import com.heptaFmon.hack.HeptaFishGC;
import com.heptaFmon.loader.impl.ImageLoader;
import com.heptaFmon.map.impl.HashMap;
import flash.display.Bitmap;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.geom.Point;
//地图层 图片
public class MapLayer extends BaseDisplayObject
{
//图片读取器
private var _imageLoader:ImageLoader;
//地图图片 用于整块加载模式
private var _image:Bitmap;
//地图图片数组 用于栅格式加载地图模式
private var _imageMap:HashMap;
//小地图图片
private var _simage:Bitmap;
//
private var _map:GameMap;
private var _loadType:int;//加载类型 0:整块加载 1:栅格加载
private var _visualWidth:Number;//地图可视宽度
private var _visualHeight:Number;//地图可视高度
private var _sliceWidth:Number;//地图切割单元宽度
private var _sliceHeight:Number;//地图切割单元高度
private var _preloadX:Number;//横向预加载屏数
private var _preloadY:Number;//纵向预加载屏数
private var _loadingMap:HashMap;//正在加载的屏map
private var _waitLoadingArr:Array;//等待加载的loadermap
private var _loadingNo:int = Config.getInt(concurrencyImageLoader);
private var _screenImageRow:int;//一屏需要加载的横向图片数
private var _screenImageCol:int;//一屏需要加载的纵向图片数
private var _row:int;//总横向节点数
private var _col:int;//总纵向节点数
private var _nowPlayerPointoint;//当前人物所处的屏
public function MapLayer(map:GameMap)
{
_map = map;
_loadType = parseInt(_map.mapXML.@loadType);
您可能关注的文档
最近下载
- 佳能70D中文使用说明书.pptx VIP
- 适用于高保真声效合成的共鸣腔几何建模与算法驱动优化设计方法研究.pdf VIP
- 六年级英语上册人教PEP版单词字帖.pdf VIP
- 2025年AWS认证EKS安全组策略配置与最佳实践专题试卷及解析.pdf VIP
- 2025年项目管理专业决策树分析PgMP认证考试专题试卷及解析.pdf VIP
- 《中国艰难梭菌感染诊治及预防指南(2024)》解读PPT课件.pptx VIP
- 车辆故障六案例培训.ppt VIP
- 2024-2025学年湖南省长沙市雅礼教育集团高二(上)期中考试物理试卷(含答案).docx VIP
- 2025年特许金融分析师估值模型中的终值计算敏感性专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照飞行器飞行前检查中的安全检查流程专题试卷及解析.pdf VIP
原创力文档


文档评论(0)