作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个乒乓球游戏,我用手指来移动 Racket 。只要有一根手指,一切都会顺利进行。但是,当我想控制两个玩家、两个 Racket 时,一个 Racket 移动得很好,但另一个 Racket 移动得很慢(如果有的话)。当第二个桨开始移动时,我的第一个桨卡住了。如何使这两种 Action 感觉流畅且 react 灵敏?
我在 Director 中启用了多点触控。
这是我的触摸代码:
- (void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *myTouch = [touches anyObject];
CGPoint location = [myTouch locationInView:[myTouch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
CGRect leftTouchZone = CGRectMake(0, 0, 50, 320);
CGRect rightTouchZone = CGRectMake(430, 0, 50, 320);
if (CGRectContainsPoint(leftTouchZone, location))
{
CGPoint tempLoc = location;
tempLoc.x = paddle1.position.x;
paddle1.position = tempLoc;
}
if (CGRectContainsPoint(rightTouchZone, location))
{
CGPoint tempLoc = location;
tempLoc.x = paddle2.position.x;
paddle2.position = tempLoc;
}
最佳答案
您不应该查看所有触摸的对象,而不是仅仅捕获任何对象吗?如果您同时移动 2 个触摸,则只有一个触摸会收到触摸移动事件。
- (void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UITouch* myTouch in touches)
{
CGPoint location = [myTouch locationInView:[myTouch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
CGRect leftTouchZone = CGRectMake(0, 0, 50, 320);
CGRect rightTouchZone = CGRectMake(430, 0, 50, 320);
if (CGRectContainsPoint(leftTouchZone, location))
{
CGPoint tempLoc = location;
tempLoc.x = paddle1.position.x;
paddle1.position = tempLoc;
}
if (CGRectContainsPoint(rightTouchZone, location))
{
CGPoint tempLoc = location;
tempLoc.x = paddle2.position.x;
paddle2.position = tempLoc;
}
}
关于objective-c - 多点触控和 ccTouchesMoved,移动滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11815205/
我是一名优秀的程序员,十分优秀!