#iphone #objective-c #ios #xcode
#iPhone #objective-c #iOS #xcode
Вопрос:
Я играю в понг, и когда я играю за 2 игрока, изображения не будут перемещаться одновременно: я должен отпустить одно, чтобы переместить другое.
Вот код:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self touchesMoved:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
if (location.x > 240) {
CGPoint ylocation = CGPointMake(player.center.x, location.y);
player.center = ylocation;
}
if (mode == kdual) {
if (location.x < 240) {
CGPoint ylocation = CGPointMake(cpu.center.x, location.y);
cpu.center = ylocation;
}
}
}
Ответ №1:
Вы проверяете положение только одного объекта касания. Вы должны проверить все объекты касания и соответствующим образом переместить изображения. Что-то вроде этого:
for (UITouch * touch in [touches allObjects])
{
// Check position of touch and move the images
CGPoint location = [touch locationInView:touch.view];
if (location.x > 240) {
CGPoint ylocation = CGPointMake(player.center.x, location.y);
player.center = ylocation;
}
if (mode == kdual) {
if (location.x < 240) {
CGPoint ylocation = CGPointMake(cpu.center.x, location.y);
cpu.center = ylocation;
}
}
}