easy touch利用playmaker拖动ngui对象

最近在学习unity3d的几个插件。easy touch,playmaker,ngui。为了使几个能够一起使用,还弄了playmaker ngui scripts和easy touch addon 4 playmaker插件。

最近做的一个需要touch拖动一个ngui的2d对象,又想用playmaker来控制。这话怎么说怎么绕啊。反正,是有杀鸡用宰牛刀的感觉。

在easy touch addon 4 playmaker的例子里面有怎么拖动gui对象的示例,不过我在拖动ngui的时候发现总是不对,最后终于找到问题。

ngui里localpositon和position区别很大,在set position的时候把space设置为world就可以了。


下面把整个过程演示一遍。

首先建立空的场景,添加一个ngui的2dUI



根据背景大小,设置ui root,这个设置是工作需要,不影响拖动。



摄像头必须注意Layer设置,因为要能被拖动,要和easytouch关联,因为我把unity默认摄像头删了,所以,还要把ngui的摄像头的tag设置为MainCamera



添加一个背景,(无关拖动)



这是要拖动的2d ngui对象,注意Layer,不需要添加自己的脚本,我原来的方法没用对。



设置easytouch, 我把例子里的拖成预制件直接拿来用。这里一定要把ngui的摄像机添加进去。选中enable 2d coliider



开始设置playmaker,基本是照抄例子,山寨万岁。



添加变量



设置动作



继续设置动作,这两个状态的动作和例子里一样。



这个是例子里原来的动作,通过set position设置位置,注意,set position的space要设置成world。



ok,万事大吉,那个人现在可以被拖来拖去了。



状态机里面那个奇怪的状态是个全集事件,添加方法如下。必须把easytouch加入到场景才能有这些事件。



添加以后的状态。



另外,再说下运行中,几个状态。

运行以后,对象停在wait for drag状态,

当触摸开始的时候,转到get current状态后又返回wait for drag状态。

发生拖动到时候,转到on drag状态。


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值