QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 1471|回复: 0
收起左侧

[求助] 选择对象做往复运动,不知道问题出在哪?附源代码和注释

[复制链接]
发表于 2015-6-16 17:34:23 | 显示全部楼层 |阅读模式 来自: 中国广东东莞

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
程序目的:  模拟运动(选择物件,使其做往复运动)% ~& I: @% R% R7 \. q
4 w! g1 Y0 s) g
现有程序问题:只能移动到一边,无法回去(无往复运动)
' F8 [& R2 K8 p
3 C& w9 V$ h( W& e3 f5 w0 N源代码和注释:

  1. & r$ `, _! w2 V, L$ _: t
  2. Sub Objectmove()& R- G5 _4 ?$ k+ j7 F9 s
  3. Dim p0 As Variant '起点坐标
    4 v/ l5 z; M- Y
  4. Dim p1 As Variant '终点坐标# D  n  m( e& a5 @7 Z
  5. Dim pc As Variant '移动时起点坐标
    $ `# q! Q" g* ?6 P- g4 {1 E
  6. Dim pe As Variant '移动时终点坐标
    . e# y' Q# |( k
  7. Dim movx As Variant 'x轴增量
    0 H6 Z  w7 P' D# _- @% m
  8. Dim movy As Variant 'y轴增量! S3 T0 \* t0 D; `* ^* K
  9. Dim getobj As Object '移动对象% t$ b3 y1 o. x, S* U+ P  m
  10. Dim movtimes As Integer '移动次数* x! J5 J8 U& o* C; Y; {; f
  11. ThisDrawing.Utility.GetEntity getobj, po, "请选择移动对象"9 t) L3 M. |8 w, ^# o; O
  12. p0 = ThisDrawing.Utility.GetPoint(, "起点:")4 w) I; m  `  J$ C0 |
  13. p1 = ThisDrawing.Utility.GetPoint(p0, "终点:")" p0 [: V6 ]$ |2 b7 Z1 x
  14. pe = p0
    : C; n8 n& X$ p! T- Y
  15. pc = p0
    & f2 ~0 N' R  G) [; X
  16. motimes = 3000
    6 ?0 Y9 d* O8 g/ l  Q; E; q- f
  17. movx = (p1(0) - p0(0)) / motimes
    # g" d5 H2 ~0 }
  18. movy = (p1(1) - p0(1)) / motimes
    # U1 c: y; K! u$ h
  19. For i = 1 To motimes' e+ l, t  `  u% {! o- w' n
  20. pe(0) = pc(0) + movx
    5 C4 J9 {8 G% Y* n
  21. pe(1) = pc(1) + movy
    ! |  b! G& J/ r: j# \% J& K4 m4 b4 v+ c: j
  22. getobj.Move pc, pe '移动一段
    3 U! V+ C/ f8 f  @  R) K& C( G
  23. getobj.Update '更新对象6 I, v; T8 b8 F8 @. J1 R
  24. movx = (p0(0) - p1(0)) / motimes& ]* `! M# g+ S& M& V0 z
  25. movy = (p0(1) - p1(1)) / motimes! h, O- `* n- m
  26. For j = motimes To 1, y) p. z$ G# K% Z( o0 g
  27. pe(0) = pc(0) + movx
    . [" C! d* p( t. M: G
  28. pe(1) = pc(1) + movy. p2 i* [, t+ [. u
  29. getobj.Move pc, pe '移动一段, u1 `  U: K; r: C+ Z
  30. getobj.Update '更新对象- t: _& `+ J+ P, `2 R; A
  31. Next j
    . @* L1 S; ]9 w0 x; E$ ~$ H
  32. Next i
    6 {! F" f9 Q! n! U9 t3 j2 z/ S' n
  33. End Sub3 W6 T  [6 M+ ?  M( h' ?
复制代码
另:是否我的声明有问题,选择对象是只能单选?
7 t# e) Z6 E) T( ^: u0 \
: S: l2 w& l# r5 A$ I9 G7 r+ Q哪位大哥帮忙看下,再此谢过!" G. X& Q. {2 K9 j/ h1 P+ _

' [  x5 }( f. b: e; }# \, E& B  T5 K8 g5 u% V5 O
- K0 y& I- K+ X9 k2 w& ~9 {# u+ ~
. `' e/ z+ b# f7 g2 _' I  g; e0 p# F" V
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表