游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2039|回复: 0

请教:用TV3D怎样实现鼠标拖动模型

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2011-11-13 19:14:00 | 显示全部楼层 |阅读模式
初学TV3D,请高手指点一下!谢谢!!

问题:怎么用鼠标拾取一个模型,并实现用鼠标任意拖动其位置?

我编的代码是:
    If MR <> 0 Then '若右键被按下
       P = Posi(i)
       Set CollR = Scene.MousePicking(Mx, My, TV_COLLIDE_MESH, TV_TESTTYPE_ACCURATETESTING)
       If CollR.IsCollision Then
            Dest = CollR.GetImpactPoint                      '右键拖动到的位置。这样用不知对不对
            Dire = VNormalize(VSubtract(Dest, P))            '方向
        End If
        If GetDistance3D(P.X, P.Y, P.Z, Dest.X, Dest.Y, Dest.Z) > 2 Then
            Posi(i) = VAdd(Posi(i), VScale(Dire, TV.TimeElapsed * 0.1))
            mesh(i).SetPosition Posi(i).X,Dest.Y, Posi(i).Z
        End If
    End If
  想要在运行时,鼠标右键拖动物体时,物体跟随鼠标移动。
  但实际运行时,物体离鼠标有距离,而且有时鼠标不移动物体也动???
  估计我这个方法是不对的!
  得用什么方法尼???


[em5] [em24]abc
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 19:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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