unity3D中如何实现用脚本创建出的模型能够用鼠标拖拽

我已经用脚本实现了用按钮创建模型,新创建出的模型的名字会出现在Hierarchy中,但是在按按钮之前不会出现,我希望能用鼠标拖拽改变新创建出的模型的位置,请提供尽量详细的代码并说明语句的含义,谢谢了!(我在网上已经找到了C#和Java两个可以实现拖拽的版本,但是都必须绑定到已经存在的对象上故不能满足我的要求,请大侠不吝赐教!)

不太清楚你的意思。如果是在编辑器模式下的下直接拖到模型就行了。
如果实在运行模式下,那么给实例物体绑定脚本是必须的。因为你获取鼠标的位置是在继承自MonoBehaviour 的脚本中获取的,而这个脚本必须拖到物体上才能执行。
如果你不想编辑时就把这个脚本拖上物体,你可以用AddCommpent()方法在运行时动态添加对应脚本,完了后用Destroy()方法删除追问

我的确是想在运行模式下,按按钮生成模型,然后对新生成的模型进行拖拽;换句话说,我要新生成的模型能被拖拽
我是把创建模型的脚本和实现拖拽的脚本分开写的,于是在project视图里,我把拖拽脚本拖到prefab上,也看到添加成功了,可以看到prefab的commpent里有拖拽脚本,但是运行的时候还是能创建模型但不能拖拽,求帮忙~
我Q:408341586
谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-24
你可以直接把拖拽脚本添加在要实例的对象上,就是你要实例的预制体上,这样通过按钮实例出来的对象就自动带有拖拽功能了追问

我试了,我的脚本和prefab都在project区里,我把脚本拖到prefab上还真的能添加!然后运行,按按钮出现预置的模型,然后没有拖拽功能!我想是脚本里没写某个东西造成它不对运行后新生成的模型有效吧,请问怎么破?
我Q:408341586
谢谢!

追答

你实例的是你添加了脚本的预制体么?
预制体上加collider了吗?
如果再测试的时候可以拖拽,实例后也是可以的