如何在unity3d绕任意轴旋转中拖拽任意的对象

[原创]unity3D学习【功能实现】之九:鼠标拖动图片
点击查看动态图
这个好像只能用在ugui下,也就是说用在Canvas下的所有对象。
一,首先是将Cancas的Render mode设置为World Space,另外的模式最后我会提一下。
不管哪个模式都是涉及的 鼠标的坐标转换
二,在Cancas下新建一个Panel,把Cancas大小设为width:80,Height:80,Panel也设置为80*80,或者也可以直接把Panel设置为撑满整个画布Cancas,可见我这样也就是直接把Cancas当gameobject用了
三,Panel挂一个脚本Panelmove.cs,代码后面会给出。
四,我们给Panel,添加event trigger组建,添加完之后,然后再添加响应的事件ADD New Event
Type,里面有10多个事件选项。这里我就添加了两个,pointer Down和Drag。
五,接下来是添加这两个事件的响应的函数了,把Panel拖两次拖到这两个事件的runtime下面,然后选择响应的函数,也就是要做的事情,当然现在什么都选不了,因为函数还没写的,代码如下。
public&class&Panelmove&:&MonoBehaviour&{
&&&&private&Vector3&offset;
&&&&public&void&OnpointDown(){//第一个函数,起这个名字,到时候好选择
&&&&&&&&offset=transform.position-&Camera.main.ScreenToWorldPoint&(Input.mousePosition);
&&&&&&&&&&&
//坐标转换一下,先取得Panel中心坐标和鼠标的差值
&&&&public&void&OnDrag(){//第二个函数
&&&&&&&&transform.position=offset+Camera.main.ScreenToWorldPoint&(Input.mousePosition);
//Drag就是拖动的意思,在拖动的时候,物体跟着鼠标
&&&&void&Update&()&{
////////////////////////////////////////////////////////
结束,完成了简单的拖动功能,当然可以加点小功能 transform.localScale&=&new&Vector3&(1.2f,1.2f);,鼠标点击和放开的时候,panel变大和还原。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。【新人求助】请问一下~U3D里如何实现TOUCH拖动物体啊?只需移X轴_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:61,657贴子:
【新人求助】请问一下~U3D里如何实现TOUCH拖动物体啊?只需移X轴收藏
请问一下~U3D里如何实现TOUCH拖动物体啊?只需移X轴之前用了var speed : float = 0.1; function Update (){
if (Input.touchCount & 0 &&Input.GetTouch(0).phase == TouchPhase.Moved) { var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaP
transform.Translate (-touchDeltaPosition.x * speed,transform.position.y ,transform..position.z);
} }但是导出到安卓上却能移动X与Y轴,而且东西越来越小,瞬间就消失了……是不是要用到ScreenToWorldPoint之类的?function Update () {var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPvar worldtoscreenpos=Camera.main.WorldToScreenPoint(transform.position); if (Input.touchCount & 0 &&Input.GetTouch(0).phase == TouchPhase.Moved) {var screentoworldpos=Camera.main.ScreenToWorldPoint(Vector3(-touchDeltaPosition.x,worldtoscreenpos.y,worldtoscreenpos.z)); transform.position= }}以上是我新写的,但是就是不知道对不对也不知道如何判定触摸点是否点击在物体上,并且移动所点击到的物体……求大神指教!!(触摸测试必须要导出到安卓后才能测试吗?……每次导出都好麻烦啊……)
火星时代unity3d,争当游戏大触,月薪过万小意思,手绘技能,概念设计,商业应用一步到位,你与u3d游戏特效设计师只差一步,赶快点击吧!
不知道楼主这个问题是否已经得到完美,我最进也遇到这类问题了,你的第一个方法我尝试过,这个方法应该是从圣典里直接拿过来用的吧
有没有完美的方法求交流共享一下,小板凳搬上~~~~
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 unity3d 拖拽摆放物体 的文章

 

随机推荐