作者santaclub (圣诞青年)
看板MacDev
标题[问题] cocos2d跟UiView的冲突
时间Mon Dec 2 18:57:58 2013
想问
如果用cocos2d在写东西 又在画面上叫出一个uiView来装广告
而我画面是横的...为何每次点到uiView的范围, coco在 xy坐标相反的地方也会有所反映?
比方说 uiView的位置 以cocos来说 是20,50 , 但对uiView来说是50,20
而我在50,20这地方coco的按钮就会被触发 ...
请问何解? 有请高人指点...感恩
--
˙ . . . . ‧
.◢◣. . .
◢█◣. ☆ █ ███ █◣█ ███ ███ ███ ██ █▉█ ██◣ ˙
▇
█▆▇
█ ▇ █▇ γ███▇
██▆
█▇█ ██▆▅
█▇
█▉█ █▇█▆▅▆▇
. ▇ █ █ξ ◥█ █ ι ☆ █ ﹎﹎﹎ ﹎﹎﹎ ███ █▇█ .
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.3.15.181
1F:→ Esvent:之前好像遇过同样的问题... 12/02 20:08
2F:→ Esvent:CCMenu的itemForTouch方法 把CGPoint touchLocation那行改 12/02 20:13
3F:→ Esvent:成CGPoint touchLocation = [touch locationInView: 12/02 20:14
4F:→ Esvent: [CCDirector sharedDirector].view]; 试试看 12/02 20:14
5F:→ Esvent:p.s.记忆久远 错了别打我XD 12/02 20:16
谢谢您,不过不好意思我没有讲清楚
这玩意他不是用item
其实是他用cctouches 然後去看点到的坐标有没有跟sprite重叠
有的话就触发点击,而就是cctouches取出来的点出事了
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
CGPoint locationOrig=[touch locationInView:[touch view]];
CGPoint location = [[CCDirector sharedDirector] convertToGL:locationOrig];
}
最後那行convert跟没有一样
我有想要把它改成CCMENU
但这是公司的旧专案要维护,之前写的人不知道跑哪去了
这东西又写得乱七八糟 还有真扭假按钮的...然後一堆delegate 又没有注解..
所以看来应该是只能从抓点下手...
请问有高人能指点吗O.Q
※ 编辑: santaclub 来自: 112.209.134.72 (12/02 21:43)
6F:→ Esvent:试试把locationOrig换成我贴的那行看看? 他们的Code感觉是 12/02 21:53
7F:→ Esvent:在做同样一件事 12/02 21:53
8F:→ santaclub:可是 [CCDirector sharedDirector] 没有.view 12/02 22:06
9F:→ santaclub:可是有openGLView,直接把你的拿来就可以动了 12/02 22:13
10F:→ santaclub:不用再次转换,太感谢您了!!! 12/02 22:14