cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1225回复:1

[求助]关于点在线上移动的问题

楼主#
更多 发布于:2005-02-22 15:33
   现在有一线形图层,图层上有三个对象。我想在三个线形对象上画三个点,并且同时让这三个点一起沿着线走动。

   如果画一个点在一个特定对象上走动,很容易实现。如下代码:

    Sub SDSG_Tbm()  

  Dim pt As MapObjects2.Point

  Dim line

  Set recs_2 = Map1.Layers("yh_ss").SearchExpression("construct=1 and far_class=1")

  SDSG_Timer1.Interval = 0

  

  Map1.TrackingLayer.ClearEvents

  m_nNum = 0

  Do While Not recs_2.EOF

   If Not recs_2.EOF And Map1.Layers("yh_ss").Visible = True Then

    Set line = recs_2("Shape").Value

    Set m_ptsDemo = New MapObjects2.Points

    

    For Each pt In line.Parts(0)

      m_ptsDemo.Add pt

    Next pt

    

    m_bIsMove = True

    SDSG_Timer1.Interval = 100

   End If

  recs_2.MoveNext

  Loop

End Sub

Private Sub SDSG_Timer1_Timer()

  Dim count As Integer

  Dim x, y

  Dim p1 As New MapObjects2.Point

  p1.x = m_ptsDemo.Item(0).x

  p1.y = m_ptsDemo.Item(0).y

  

  Set m_Evnt = Map1.TrackingLayer.AddEvent(p1, 0)

  If m_bIsMove And Map1.TrackingLayer.EventCount > 0 Then

    count = m_nNum

    If count = m_ptsDemo.count Then

        SDSG_Timer1.Interval = 0

        m_nNum = 0

        SDSG_Tbm_2

    Else

       Set m_Evnt = Map1.TrackingLayer.Event(0)

       m_nNum = m_nNum + 1

       x = m_ptsDemo.Item(count).x

       y = m_ptsDemo.Item(count).y

       m_Evnt.MoveTo x, y

    End If

  End If

End Sub



若想要同时三个点在三个线形对象上移动,则该怎么办啊??

<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
喜欢0 评分0
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-02-24 12:35
自己顶
举报 回复(0) 喜欢(0)     评分
游客

返回顶部