Flex制作画图板程序边界事件监听问题

acoal 2010-09-25 02:31:48
最近用Flex写了小的画图板程序,碰到一个问题是在鼠标移出画图面板时,并没有停止画图。

我在画板上加了事件ROLL_OUT事件,当鼠标移出画板时,触发该事件,停止作画,实际测试中发现,这个事件并不好用,当你在画板上很快的移动鼠标时,在距离画板边缘还有一段距离的时候,他就触发了该事件停止绘画了,但是当你很慢的移动鼠标出画板时,他并不触发该事件,只要你速度够慢,他就能一直画下去,这个问题弄的我很不解,请问各位大虾,有没有做过累死的程序,如何解决这个问题呢?
...全文
389 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
acoal 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lieri111 的回复:]

rollOut 和rollover在使用起来和mouseover没有任何区别,只是不同的组件用不同的事件而已,强制结束某个事件就可以了
[/Quote]

我现在遇到的问题不是何时结束事件的问题,而是何时触发事件的问题,我的意思是要在鼠标离开画板的时候就要触发一个事件,但是FLEX提供的事件rollOut 和mouseover事件都不满足条件。mouseover不用说了,rollOut在触发的时候也需要离开对象的所有的子对象,所以鼠标缓慢移动的话,是可以一直在刚刚画出的那条线上,这条线是画板的子对象,所以事件不会触发,即使鼠标从位置上已经移出了画板。
passself 2010-09-25
  • 打赏
  • 举报
回复
rollOut 和rollover在使用起来和mouseover及mouseout没有任何区别,只是不同的组件用不同的事件而已,强制结束某个事件就可以了
acoal 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lieri111 的回复:]

这个问题很正常,是因为mouseover的函数响应还没有结束,mouseout的函数就开始了,所以mouseout的函数是不会执行的,处理的办法是,当相应mouseout函数的时候,强制结束mouseover的函数就可以了
[/Quote]

其实我程序里并没有使用这个两个事件,因为如果画图的话,这两个事件触发的太频繁了,根本无法完成功能。
acoal 2010-09-25
  • 打赏
  • 举报
回复
最新进展,现在查到是ROLL_OUT事件触发原因不对,我在官方API上看到这个事件是为了解决由子对象的对象容器而特制定的事件,API上说:

The purpose of the rollOut event is to simplify the coding of rollover behaviors for display object containers with children. When the mouse leaves the area of a display object or the area of any of its children to go to an object that is not one of its children, the display object dispatches the rollOut event. This is different behavior than that of the mouseOut event, which is dispatched each time the mouse leaves the area of any child object of the display object container, even if the mouse remains over another child object of the display object container.

与mouseOut 不同的是,rollOut 在离开其本身和其子对象转到任何其他其他对象上时才触发,而我在使用这个事件的时候,如果鼠标移动很慢的话,鼠标指针还是在刚刚画出的那条线上,所以并不触发该事件,只有鼠标移动很快时,离开了他的子对象,才触发该事件。

问题虽然找到,但是问题并没有解决,因为另外一个事件mouseOut 是在离开其任何一个子对象时都触发,而不管是不是从一个子对象转到另外一个子对象上,所以即使在画板内快速移动鼠标,事件也会触发,因此这个事件也不能用,继续探索,若果有哪位高人想到了解决办法,请告知小弟一下。
passself 2010-09-25
  • 打赏
  • 举报
回复
这个问题很正常,是因为mouseover的函数响应还没有结束,mouseout的函数就开始了,所以mouseout的函数是不会执行的,处理的办法是,当相应mouseout函数的时候,强制结束mouseover的函数就可以了
acoal 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leemiki 的回复:]

你肯定响应函数里没写错??那就用mouseOut事件看看
[/Quote]
仔细检查过相应函数了,没有错误,mouseOut事件也试过,发现不能用,如果用这个事件在画板里作画都不成功。
leemiki 2010-09-25
  • 打赏
  • 举报
回复
你肯定响应函数里没写错??那就用mouseOut事件看看
源码链接: https://pan.quark.cn/s/9f500ac403c2 摄像头配置是嵌入式系统构建中的一个关键步骤,它涉及到硬件与软件的紧密协作。图像信号处理器(ISP)作为图像信号处理的核心单元,在摄像头配置过程中扮演着至关重要的角色。在硬件层面,它涵盖了摄像头与ISP之间的连接以及信号传输的细节;在软件层面,主要依托V4L2框架进行视频流的采集和处理。接下来将具体说明文档中涉及的硬件机制、软件机制、信号配置及V4L2等领域的摄像头配置实践经验。 ### 硬件机制与连接 文档首先阐述了硬件线路中中央处理器与摄像头之间的连接方式。在此,相机串行接口(CSI)模块是摄像头数据传输的核心部分,它负责与外部CMOS图像感应元件进行交互。CSI接口包含以下几个关键信号线: 1. **CSI_VSYNC (垂直同步信号)**:用于标示一帧图像的起始点。该信号传输方向为从图像感应元件(sensor)至应用处理器(AP)。 2. **CSI_HSYNC (水平同步信号)**:用于提供行同步信号,并用于识别消隐信号。同样,信号流向为sensor至AP。 3. **CSI_D[7:0]**:8位摄像头数据总线,用于传输各种图像数据,包括YUV、YCC、RGB或Bayer格式。数据流向为sensor至AP。 4. **CSI_MCLK (传感器主时钟信号)**:由传感器输出主时钟信号,为外部摄像头提供时钟基准。信号流向为AP至sensor。 5. **CSI_PIXCLK (像素时钟信号)**:由摄像头输出,通常与MCLK主时钟信号频率相同。信号流向为sensor至AP。 正确设置这些连接,确保信号同步传输,是硬件配置的基础。 ### 软件机制与驱动程序 摄像头驱动...
文末附数据集可视化效果图。 【数据集概况】 · 检测类别(中文):[大豆(soybean)] · 训练集:777 张 · 验证集:0 张 · 测试集:0 张 · 总计:777 张 该数据集聚焦农业科研领域,针对温室环境下大豆幼苗的精准检测需求,为植物生长监测与自动化管理提供高质量数据支撑。训练集777张,验证集和测试集为0张,符合农业科研场景中对特定生长阶段样本集中训练的需求,确保模型在目标场景下的泛化能力。所有样本均采用精准的边界框标注,标注规范统一,确保了数据集在大豆幼苗检测任务中的高精度与可靠性。该数据集可应用于农业科研机构的植物生长监测系统、智能温室管理平台等场景,... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9922** mAP50-95 | 0.9141 Precision | 0.9771 Recall | 0.9710 train/box_loss | 0.4231 train/cls_loss | 0.1829 val/box_loss | 0.3920 val/cls_loss | 0.1737 【训练过程分析】 100 轮训练后 mAP50 达到 0.9922,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。mAP50-95 为 0.9141,和 mAP50 差距仅 0.08,框的定位精度也很扎实。 【模型性能评估】 Precision 0.9771、Recall 0.9710,精召双高,模型对大豆的检测能力强。...

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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