因为做的是服务编排的应用,免不了要把代表服务的节点连接起来。之前实验了在flex里画线,感觉挺方便的。我还为了更方便,自己封装了一个画线的组件类,只要传递两个端点就能画出我想要的箭头。
今天正式要在组件里实现连线了,发现还是挺复杂的。
我遇到的问题是相对坐标问题。因为我要连接的节点是跨容器的,所以肯定要转换坐标。
flex给我们提供了如下便利:每个组件能够直接获取它的左上角相对于它的父容器的绝对坐标;每个DisplayObject都有内建的将本地坐标转换成相当于stage的全局坐标的函数;每个DisplayObject都可以直接获取它的stage对象引用。于是感觉只要将所有节点的本地坐标转换成全局坐标,再用stage添加我的箭头就可以实现连接了。但实际不行,stage画不出我的箭头……
我用trace打印stage对象,没看懂stage对象是什么类。于是只能老老实实将一层层的parent对象的坐标叠加,算出相对于最适合的容器的坐标,然后用该容器画箭头。结果还是没画出箭头,但我注意到有部分控件微动了。
我恍然大悟,我的箭头是继承了UIComponet接口的,那么加入容器后是服从容器的布局方式的。而我的容器都是相对布局的,于是箭头虽然指定了坐标还是没有效果的。只能在绝对布局容器外,再套了一个Canvas,在Canvas里画箭头就OK了!
分享到:
相关推荐
"flex画线可以删除"这个标题和描述可能是指在使用Flex布局时,如何通过CSS样式来实现或删除元素之间的分隔线。这里我们将深入探讨Flex布局以及如何控制其中的线条。 Flex布局(Flexible Box Layout)是CSS3引入的一...
在IT行业中,尤其是在Web开发领域,"flex 图片画线,拖动"是一个常见的交互功能需求,用于增强用户体验。这个功能通常涉及到HTML5、CSS3和JavaScript等技术,特别是Flex布局和SVG图形技术。让我们详细探讨一下这个...
在“flex画线”的场景中,我们通常是指利用Flexbox( Flexible Box 或 Flex 布局)来创建各种线性结构,如分割线、网格线或者自定义的布局分隔。 在CSS中,`display: flex;`属性是开启Flex布局的关键。一旦一个容器...
这个类提供了丰富的绘图方法,如`beginFill()`、`lineTo()`、`moveTo()`等,可以用来画线、填充形状、绘制曲线。 3. **曲线绘制**: - 曲线绘制通常涉及到贝塞尔曲线,包括线性贝塞尔曲线和三次贝塞尔曲线。线性...
Flex 画线 两点画线 画布画线 Flex3.0 画线段
flex中文帮助flex中文帮助flex中文帮助flex中文帮助
在Flex编程中,"flex成功画一个点"这个主题涉及到的是如何在用户界面元素上绘制一个像素级别的点。Flex是一种基于ActionScript的开源框架,主要用于创建富互联网应用程序(RIA)。在Flex中,我们可以利用图形库或者...
在本案例中,"Flex实现拓扑,可以拖动 画线等",指的是利用Flex技术开发了一个具有拓扑图展示功能的应用,该应用允许用户进行节点拖动和连线绘制,提高了用户体验和互动性。 拓扑图通常用于表示网络、系统或流程中...
本示例“Flex画线(直线,折线)完美实现”专注于提供一种高效、灵活的方法来绘制动态直线和折线,并允许用户进行实时编辑。通过这个项目,开发者可以学习如何在Flex应用中实现这一功能,提升用户体验。 首先,Flex是...
Flex提供了强大的调试工具,如Flex Builder的集成开发环境(IDE),以及Flex SDK中的命令行编译器,帮助开发者定位和修复问题。 12. **国际化和本地化** Flex支持应用的国际化和本地化,允许开发者创建适应多种...
描述中提到了封装代码,这意味着可能有一个自定义组件(如`LineSkin.mxml`),这个组件扩展了Flex的基础显示对象(如`Sprite`或`Shape`),并在其内部实现了画线的功能。组件可以接收四个坐标点作为参数,然后自动...
Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的开放源代码框架。...通过这个教程,读者不仅可以理解Flex的基本概念,还能掌握实际开发中的技巧和最佳实践,从而成为一名熟练的Flex开发者。
本文将深入探讨“flex节点画线”与“拖动节点线动”的技术实现,帮助开发者掌握这两项关键技能。 首先,我们要理解什么是Flex节点。在Flex布局中,节点通常指的是容器内的子元素,这些子元素可以灵活地调整自己的...
1. 创建项目:在Flex Builder或Adobe Animate CC中创建新项目,选择目标平台(如Flash Player或Adobe AIR)。 2. 设计界面:使用MXML或ActionScript创建组件,定义界面布局。 3. 编写业务逻辑:在ActionScript中编写...
在Flex编程中,"flex 画线,并连接到物体上" 这一主题涉及到图形绘制、事件处理和对象定位等多个核心知识点。Flex是一款基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。下面将详细介绍如何...
10. **最佳实践和设计模式**:学习Flex的过程中,了解和应用设计模式,如MVC(模型-视图-控制器)模式,可以帮助编写出可维护、可扩展的代码。 通过这份"Flex中文帮助"资料,你可以系统地学习Flex的基础概念、编程...
3. **Timeline动画**:类似于传统动画中的时间轴,Flex允许开发者在时间线上控制多个动画事件的顺序和持续时间。这使得可以创建更复杂的交互式场景,比如序列化的动画效果。 4. **自定义动画**:除了内置组件,Flex...
ActionScript 3.0则是Flex中的编程语言,提供了面向对象的编程能力,使得开发者可以实现复杂的业务逻辑。 二、Flex SDK与Flex Builder Flex SDK是Flex开发的基础,包含了编译器、库和命令行工具,允许开发者在任何...
Flex中的数据绑定机制允许将UI组件的属性直接绑定到应用程序的数据模型,当数据模型发生变化时,UI会自动更新,反之亦然,简化了界面和数据间的交互。 六、Flex事件模型 Flex事件模型基于观察者模式,事件是组件间...