zoukankan      html  css  js  c++  java
  • 当 智能箭头 碰到 方向箭头 。。。。。。。

    方向箭头

    智能箭头 + 方向箭头

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

    方向箭头的 原理:

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

    当然你 也可以做成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.是代表下图 

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

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

  • 相关阅读:
    wait函数和waitpid的使用和总结
    linux中sleep函数的使用和总结
    alarm()函数的使用总结
    linux定时器的实现方法
    Socket的长连接和短连接
    记录各种材质的数据
    max导出模型插件
    鸡汤 -心灵 记录
    UGUI 加载图片
    u3d udp服务器
  • 原文地址:https://www.cnblogs.com/big-zhou/p/5314520.html
Copyright © 2011-2022 走看看