U3d 通过NGUI实现listview不能上下拖动

f_liu 2014-12-25 11:55:28
主架构:

Panel的属性:

Grid的属性:

Item的属性:

Sprite的属性:

Label的属性:


请问给位大神为什么进行不能拖动??
...全文
422 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你确定这个是可以拖动吗?一共就三个item,而且还没超过总区域,是不需要拖动的吧。你看我那个图里面,小框框明显超出了大框的范围、 不知道你用的哪个版本,我的意思是说,所有的点击判断都是依靠Unity的Raycast函数,NGUI也不例外,所以我是说让你在脚本里打一下log,看raycast到哪个东西上。比如在FixedUpdate里:

	void FixedUpdate ()
	{
		if (useMouse && Application.isPlaying && handlesEvents)
		{
			hoveredObject = Raycast(Input.mousePosition, ref lastHit) ? lastHit.collider.gameObject : fallThrough;
			if (hoveredObject == null) hoveredObject = genericEventHandler; else Debug.Log(hoveredObject.gameObject.name);
			for (int i = 0; i < 3; ++i) mMouse[i].current = hoveredObject;
		}
	}
我只是说建议你输出一下Debug.Log
f_liu 2014-12-27
  • 打赏
  • 举报
回复
引用 2 楼 candycat1992 的回复:
是跟着NGUI的实例场景做的吗?一般是Collider的设置问题,导致摄像机Raycast的时候没有找到正确的item。。

你截一张场景图,像下面这样,可以看到Collider布局,也就是绿色框框:


实在找不出问题,可以在UICamera脚本里输出Raycast的结果,看它到底判断鼠标点击了哪个对象,是不是被其他物体遮挡了。


请问下我应该在哪里输出Raycast?Raycast的参数应该传什么??
  • 打赏
  • 举报
回复
是跟着NGUI的实例场景做的吗?一般是Collider的设置问题,导致摄像机Raycast的时候没有找到正确的item。。

你截一张场景图,像下面这样,可以看到Collider布局,也就是绿色框框:


实在找不出问题,可以在UICamera脚本里输出Raycast的结果,看它到底判断鼠标点击了哪个对象,是不是被其他物体遮挡了。
f_liu 2014-12-26
  • 打赏
  • 举报
回复
求人解答啊。。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧