如何以两个对象的相对位置作为条件来触发事件?

eduhf_123 2003-08-10 11:36:57
小弟近来在做这样一个东西:一个小人儿在地图上走来走去,到某个特定的地方(如建筑等)的时候,就触发一个事件,比如弹出一个窗口来介绍此建筑的特点等,用键盘控制小人儿的移动倒是很好实现,但在如何触发事件的问题上,却是没有什么思路,起初想将建筑的范围划定并存储起来,每次响应完键盘事件后检查相对位置,但后来觉得实现起来比较困难,因为当地图上的建筑等多了以后,程序的维护与扩充很成问题,自己却在也想不出什么办法来了,只好到这里来向各位大虾求助了,分不够可以再给,谢谢了!
...全文
46 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
eduhf_123 2003-08-20
  • 打赏
  • 举报
回复
谢谢楼上各位大虾的帮助,我最后还是决定用最笨的办法——存储建筑的象素范围,在响应用户事件之前判断相对位置并作出响应,晚上来结帖。
liuruhong 2003-08-18
  • 打赏
  • 举报
回复
既然留出了这个hook,那么其他的就是你的问题了,你可以用数组来存储那些对象,我觉得其他的就和你自己的要求有关了
eduhf_123 2003-08-17
  • 打赏
  • 举报
回复
还是不是很明白……
自己顶
eduhf_123 2003-08-17
  • 打赏
  • 举报
回复
可能是我没说明白吧,我现在的问题不是位置改变与否,而是改变到什么程度我再对它响应?
liuruhong 2003-08-17
  • 打赏
  • 举报
回复
使用Object的onpropertychange事件来跟踪,只要位置该变了,就会触发,剩下的就是你统一的判断问题了
李世垚 2003-08-13
  • 打赏
  • 举报
回复
就是循环就行了 不过 你最好排序 并且使用快速查找 很快的 几百个应该没有问题 还有 设个全局变量控制一下 别只移动了一个像素就查一遍
eduhf_123 2003-08-13
  • 打赏
  • 举报
回复
不好意思,小弟初学者,两位大哥说的有点儿高深,我不是很明白,不知能否说得详细一点呀?分如果不够的话,可以再加的,谢谢了!
wsj 2003-08-11
  • 打赏
  • 举报
回复
setExpression也是一个选择。
meizz 2003-08-11
  • 打赏
  • 举报
回复
给你一个思路:
在网而里循环运行一段短小的JS代码作为整个程序的入口.
setInterval("init()", 100); //0.1秒就运行一次以判断两个控件的相对位置

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧