地图编辑器第二部!! 给网格坐标定位
来源:互联网 发布:孙俪淘宝店铺名字 编辑:程序博客网 时间:2024/03/29 21:19
package
{
/**
* ...
* @author dreamnight
*/
public class MapUtil
{
import flash.geom.Point;
public function MapUtil()
{
}
/**
*
* //这里的 px 是相对于原点的像素坐标
* */
public static function getCellPoint(tileWidth:int, tileHeight:int, px:int, py:int):Point
{
/**
* 网格的x坐标
* */
var xtile:int = 0;
/**
* 网格的y坐标
* */
var ytile:int = 0;
var cx:int, cy:int;
/**
* 计算出当前X所在的以tileWidth为宽的矩形的中心的X坐标
* */
cx = int(px / tileWidth) * tileWidth + tileWidth/2;
/**
* 计算出当前Y所在的以tileHeight为高的矩形的中心的Y坐标
* */
cy = int(py / tileHeight) * tileHeight + tileHeight / 2;
/*var y1:int = cy - tileHeight * 0.5;
var y2:int = cy + tileHeight * 0.5;
var x1:int = cx - tileWidth * 0.5;
var x2:int = cx + tileWidth * 0.5;
trace("y1:", y1, " y2", y2, " x1", x1, " x2:", x2);*/
//四个直线方程
var line1:Number = py + (px - cx) *tileHeight / tileWidth - cy + tileHeight * 0.5; // 满足 >0条件
var line2:Number = py + (cx - px) *tileHeight / tileWidth - cy + tileHeight * 0.5; // >0
var line3:Number = py + (cx - px) * tileHeight / tileWidth - cy - tileHeight * 0.5;// <0
var line4:Number = py + (px - cx) * tileHeight / tileWidth - cy - tileHeight * 0.5;// <0
//当点在矩形内 也就是 y 为偶数的 tile
if ((line1>=0)&&(line2>=0)&&(line3<=0)&&(line4<=0)) {
xtile = int(px / tileWidth);
ytile = int(py / tileHeight) * 2;
// trace("棱形内_____");
}
//、当在棱形外
else {
//对X进行定位 当在左半边时
if ((px <= cx + tileWidth * 0.5) && (cx <= px)) {
xtile = int(px / tileWidth);
// trace("左半边_____");
}
else {
//右半边
xtile = int(px / tileWidth) - 1;
// trace("右半边_____");
}
//对 y 进行定位 当在上半部分时
if ((cy <= py) && (py <= cy + tileHeight * 0.5)) {
ytile = int(py / tileHeight) * 2 + 1;
// trace("上半边____");
}else {
ytile = (int(py / tileHeight) - 1) * 2 +1;
// trace("下半边___");
}
}
return new Point(xtile,ytile);
}
///end class
}
}
- 地图编辑器第二部!! 给网格坐标定位
- 第二部:读取坐标点
- 百度地图坐标定位
- 关于百度地图定位成功,但地图显示网格
- 百度地图实现固定坐标点定位
- 百度地图实现固定坐标定位
- 高德地图多边形坐标串转数组,实现多边形重现(就是当时画的多边形网格再给拼出来:))
- Tiled 地图编辑器之 tile坐标转换
- 百度地图 定位,地图中心坐标,拖动后获取地图中心点坐标,poi搜索
- 刘老根大舞台(第二部)
- 齐天大圣第二部
- BANK(第二部)
- django第二部 路由
- 【IOS开发】高德地图定位坐标偏差
- IOS地图定位坐标偏差解决方案(实战通过)
- 百度地图WEB API定位(经纬度转换坐标)
- 使用百度地图精准定位经纬度坐标的方法
- 第二部 注册Msjetoledb40.dll
- bean:write textarea 不自动换行的问题
- 《宝宝出生特别纪念日》
- 利用匿名内部类实现Java接口方法
- xmpp 笔记(1)
- 进程共享变量#pragma data_seg用法
- 地图编辑器第二部!! 给网格坐标定位
- C语言中结构体变量复制的例子
- android环境搭建与配置
- 批处理文件
- 步步学ACTIVEX网页控件开发C++(1)
- block device driver from ldd3
- vi配置文件设置
- 财务软件界面
- ubuntu iptables模拟防火墙