- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地图分块加载的实现
地图分块加载的实现
先我们确定几个关键点:
窗口大小: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);
您可能关注的文档
- 国际贸易计价货币的选择.doc
- 国际酒店品牌与集团发展的路径.doc
- 国际金融 学生复习资料.doc
- 国际金融作业2答案.doc
- 国际金融作图分析题.doc
- 国际金融学复习重点.doc
- 国际金融学第五章计算.doc
- 国际金融实物期末复习题.doc
- 国际金融第三章知识点.doc
- 国际销售代理协议文本探讨与研究.doc
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)