gpt4 book ai didi

objective-c - "Drag ' n ' Drop"游戏动画

转载 作者:行者123 更新时间:2023-11-29 04:44:29 25 4
gpt4 key购买 nike

我对 Objective-C 很陌生,希望创建一个相当简单的 Jigsaw。我目前正在考虑制作一个四片拼图作为学习该方法的一种方式。

目前,我在屏幕周围放置了 4 个片段,当将其拖动到屏幕上的特定位置时,会捕捉到该位置。

我的问题是尝试为触摸设置动画。我希望触摸的图像能扩大一点,但我在语法上遇到了问题。我查看了 Apple 提供的 MoveMe 示例,但在这种情况下它对我没有帮助。下面是代码。我将不胜感激任何帮助。谢谢。

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
//location of current touch
CGPoint location = [touch locationInView:self.view];
if ([touch view] == image1) {
image1.center = location;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
image1.transform = CGAffineTransformMakeScale(1.5, 1.5);
[UIView commitAnimations];
} else if ([touch view] == image2) {
image2.center = location;
animateFirstTouch:image2;
} else if ([touch view] == image3) {
image3.center = location;
image3.transform = CGAffineTransformMakeScale(1.5, 1.5);
} else if ([touch view] == image4) {
image4.center = location;
image4.transform = CGAffineTransformMakeScale(1.5, 1.5);
}

}

-(void) animateFirstTouch:(UIView *)image {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
self.view.transform = CGAffineTransformMakeScale(1.5, 1.5);
[UIView commitAnimations];
}

image1 的代码有效,图像在 0.5 秒内放大。

image2 的代码抛出错误:表达式结果未用于 animateFirstTouch:image2。

image3 和 image4 的代码在没有动画的情况下放大图像。

最佳答案

请参阅此链接中 Kuldeep 的回答。我认为这对你有用:

iPhone/iOS: How to implement Drag and Drop for subviews of a Scrollview?

另一种选择是引用iPhone在此链接中的答案:

iPhone App: implementation of Drag and drop images in UIView

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
//location of current touch
CGPoint location = [touch locationInView:self.view];
if ([touch view] == image1) {
[self animateFirstTouch:image1 withLocation:location];
} else if ([touch view] == image2) {
[self animateFirstTouch:image2 withLocation:location];
} else if ([touch view] == image3) {
[self animateFirstTouch:image3 withLocation:location];
} else if ([touch view] == image4) {
[self animateFirstTouch:image4 withLocation:location];
}

}

-(void) animateFirstTouch:(UIImageView *)image withLocation:(CGPoint)location {
image.center = location;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
image.transform = CGAffineTransformMakeScale(1.5, 1.5);
[UIView commitAnimations];
}

希望这对您有帮助。

如果您需要更多帮助,请联系我。

关于objective-c - "Drag ' n ' Drop"游戏动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com