View unanswered posts | View active topics It is currently 2022-10-06 17:45



This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
 shapeNode自动画折线问题和shapenode合并问题,请各位路过的大神哥哥们给出解答,小女子无以为报 
Author Message
新手上路
User avatar

Joined: 2014-11-28 11:33
Posts: 2
Post shapeNode自动画折线问题和shapenode合并问题,请各位路过的大神哥哥们给出解答,小女子无以为报
这里的应用场景是把原来几个shapenode合并成一个shapenode,我是直接把原来展示没有问题的单个shapenode的点(点的集合都是有一个重复的点表示开始和结束,然后识别为一个封闭的集合)都集合成一个集合,然后再这个合并后的集合赋值给合并好的shapenode,但是由于shapeNode自动画折线导致会出现原来单独正常展示的shapenode之间会出现一些不应该出现的折线,导致整个合并后的shapenode展示不好看,效果图如下:


Attachments:
File comment: 合并后的shapenode
6K9I[Y)TQL~_5WJ`SWP4$KC.png
6K9I[Y)TQL~_5WJ`SWP4$KC.png [ 30.23 KiB | Viewed 11322 times ]
File comment: 合并前的3个shapenode
S6W8G7ZRT%K%6K9PP[%ZO9F.png
S6W8G7ZRT%K%6K9PP[%ZO9F.png [ 25.77 KiB | Viewed 11322 times ]
2016-02-18 11:10
Profile
TWaver开发组
User avatar

Joined: 2009-04-20 18:37
Posts: 3115
Post Re: shapeNode自动画折线问题和shapenode合并问题,请各位路过的大神哥哥们给出解答,小女子无以为报
您的shapenode的点是从哪里来的?是类似Demo里StateMapDemo里的xml么?如果是,直接合并xml就行了,如果是自己生成的点,加到shapenode里,需要再设置segment,每一组shapenode的点最开始加一个moveto,然后lineto。。。


2016-02-18 12:14
Profile
新手上路
User avatar

Joined: 2014-11-28 11:33
Posts: 2
Post Re: shapeNode自动画折线问题和shapenode合并问题,请各位路过的大神哥哥们给出解答,小女子无以为报
能给个具体的例子来参考吗。。。。我在网上找了好久都没有相关的例子喔。大神哒帮帮我吧


2016-02-18 13:42
Profile
TWaver开发组
User avatar

Joined: 2009-04-20 18:37
Posts: 3115
Post Re: shapeNode自动画折线问题和shapenode合并问题,请各位路过的大神哥哥们给出解答,小女子无以为报
参考下面代码:
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            xmlns:tw="http://www.servasoftware.com/2009/twaver/flex"
            addedToStage="init();">
   <mx:Script>
      <![CDATA[
         import twaver.Collection;
         import twaver.Consts;
         import twaver.ElementBox;
         import twaver.Link;
         import twaver.Node;
         import twaver.ShapeNode;
         
         private var box:ElementBox = new ElementBox();
         
         private function init():void {
            initBox();
            network.elementBox = box;
            tree.dataBox = box;
            table.dataBox = box;
         }
         
         private function initBox():void {
            var shapeNode1:ShapeNode = new ShapeNode();
            shapeNode1.points = new Collection([new Point(100, 100), new Point(200, 100), new Point(100, 200), new Point(100, 100)]);
            //box.add(shapeNode1);
            
            var shapeNode2:ShapeNode = new ShapeNode();
            shapeNode2.points = new Collection([new Point(200, 200), new Point(200, 100), new Point(100, 200), new Point(200, 200)]);
            //box.add(shapeNode2);
            
            var shapeNode3:ShapeNode = new ShapeNode();
            var points:Collection = new Collection();
            var segments:Collection = new Collection();
            shapeNode1.points.forEach(function (point:Point, i:int):void {
               if (i == 0) {
                  segments.addItem(Consts.SEGMENT_MOVETO);
               } else {
                  segments.addItem(Consts.SEGMENT_LINETO);
               }
               points.addItem(point);
            });
            shapeNode2.points.forEach(function (point:Point, i:int):void {
               if (i == 0) {
                  segments.addItem(Consts.SEGMENT_MOVETO);
               } else {
                  segments.addItem(Consts.SEGMENT_LINETO);
               }
               points.addItem(point);
            });
            shapeNode3.points = points;
            shapeNode3.segments = segments;
            box.add(shapeNode3);
         }
      ]]>
   </mx:Script>
   <mx:HDividedBox width="100%" height="100%">
      <tw:Tree id="tree" width="30%" height="100%"/>
      <mx:VDividedBox width="70%" height="100%">
         <mx:VBox width="100%" height="70%">
            <mx:HBox width="100%">
               <mx:Button label="Zoom In" height="20" click="network.zoomIn();"/>
               <mx:Button label="Zoom Out" height="20" click="network.zoomOut();"/>
               <mx:Button label="Zoom Overview" height="20" click="network.zoomOverview();"/>
               <mx:Button label="Zoom Reset" height="20" click="network.zoomReset();"/>
            </mx:HBox>
            <tw:Network id="network" width="100%" height="100%"/>
         </mx:VBox>
         <tw:Table id="table" width="100%" height="30%">
            <tw:columns>
               <tw:TableColumn headerText="Name" dataField="name"/>
            </tw:columns>
         </tw:Table>
      </mx:VDividedBox>
   </mx:HDividedBox>
</mx:Application>


2016-02-18 16:25
Profile
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 63 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: