博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当 智能箭头 碰到 方向箭头 。。。。。。。
阅读量:5264 次
发布时间:2019-06-14

本文共 2883 字,大约阅读时间需要 9 分钟。

方向箭头

 

智能箭头 + 方向箭头

 

方向箭头是自己画的。大家可以看出,没有 透明通道,依然这么美丽。。。。

方向箭头的 原理:

用四向寻路,计算出路径,并根据 每个点 前后 节点,来算出方向。

当然你 也可以做成8向寻路,这样,估计箭头图标 得多点,

 

这个是拐点的计算,深颜色的圈 代表 起始点,淡颜色的圈代表 末点。蓝色菱形 是 你需要得出的 拐点 图。

//箭头条        if (x == x2)//竖着        {            dis = 2;        }        else if (y == y2)//横着        {            dis = 1;        }        else  //拐弯        {            if (x < x2 && y < y2) //左下 右上            {                if (x1 == x)                {                    dis = 6;                }                else                {                    dis = 4;                }            }            if (x < x2 && y > y2)//左上 右下            {                if (x1 != x)                {                    dis = 3;                }                else                {                    dis = 5;                }            }            if (x > x2 && y > y2)//右上 左下            {                if (x1 != x)                {                    dis = 6;                }                else                {                    dis = 4;                }            }            if (x > x2 && y < y2)//右下 左上            {                if (x1 != x)                {                    dis = 5;                }                else                {                    dis = 3;                }            }        }

  大致就是以上的 方式来算出。同样,箭头,也差不多这么写。

///箭头        if (x == x2)//竖着        {            if (y < y2)//下            {                ddis = 10;            }            else//上            {                ddis = 8;            }        }        else if (y == y2)//横着        {            if (x < x2)//左            {                ddis = 7;            }            else//右            {                ddis = 9;            }        }        else        {            if (x < x2 && y < y2) //左下 右上            {                if (x1 == x)  //右                {                    ddis = 9;                }                else //上                {                    ddis = 8;                }            }            if (x < x2 && y > y2)//左上 右下            {                if (x1 != x) //下                {                    ddis = 7;//左                }                else //右                {                    ddis = 9;                }            }            if (x > x2 && y > y2)//右上 左下            {                if (x1 != x) //下                {                    ddis = 10;                }                else //左                {                    ddis = 7;                }            }            if (x > x2 && y < y2)//右下 左上            {                if (x1 != x) //上                {                    ddis = 9;//右                }                else //左                {                    ddis = 7;                }            }        }

 

dis,ddis.是代表下图 

另外求一套美化的 箭头图,要求所有 图尺寸,一致。

同时 箭头 四个,最好是 去掉尾巴,只留三角。位置不变。让另一半全透明。

 

转载于:https://www.cnblogs.com/big-zhou/p/5314520.html

你可能感兴趣的文章
巡风源码阅读与分析---nascan.py
查看>>
LiveBinding应用 dataBind 数据绑定
查看>>
Linux重定向: > 和 &> 区别
查看>>
nginx修改内核参数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
Windows 2003全面优化
查看>>
URAL 1002 Phone Numbers(KMP+最短路orDP)
查看>>
web_day4_css_宽度
查看>>
electron入门心得
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>