回复:根据不同区域功能不同分成若干部分,现在想设计一种动画效果,当鼠标停留在某一部分上时,这部分会突起来

锋言锋语

西门子1847工业学习平台

  • 帖子

    3943
  • 精华

    54
  • 被关注

    130

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

发布于 2016-08-03 08:57:34

4楼

首先要解决一个问题,如果你的区域都是不规则的多边形, 处理起来会很麻烦,要进行内点的处理, 所以尽量处理成矩形之类的规则图形;


2.将这个若干个图形的点集信息, 建立一个不规则数组,因为考虑到这么多图形,难以用想同的点来实现;

大致是这样的形式

struct Graphic{int n; POINT *p};  //n代表该区域的顶点个数;

p包含的信息, 要去申请一块内存, 存放n个点的坐标;


然后

struct Graphic Areas[m];// m个区域

3.写一个函数, 判断某个坐标是否在区域内部

形式如下
 BOOL CheckPoint(struct Graphic area, POINT pt);

4.全局脚本循环

int i = 0;

POINT myPoint; 
GetCursorPos(&myPoint);

for(i= 0;i!=m; ++i)
{

   if(CheckPoint(Areas[i], myPoint)
    {

      //这里进行颜色和突起操作

     

      break;

    } 

}

不忘初心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。