我一直关注http://www.bit-101.com/blog/?p=1798教程制作弹跳球应用。 但我想做的是制作20-30个球,可以在用户触摸的iphone屏幕上任意位置拖动,也可以放在屏幕的任何地方。所以任何人都可以建议我这个 - 如何在我这样做手机不使用cocos2d请帮帮我或给我一些链接或有用的信息任何帮助将不胜感激.......
答案 0 :(得分:0)
当您使用上述代码时,您可以编写touchesMoved
方法来处理ballView
的位置。
- (void)touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event {
UITouch *anyTouch = [touches anyObject];
[self setCenter:[anyTouch locationInView:[self superView]];
}
试试这个。
或此更新的
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count] == 1) {
UITouch *newTouch = [[touches anyObject] locationInView:[self superview]];
UITouch *lastTouch = [[touches anyObject] previousLocationInView: [self superview]];
NSLog(@"xxxxxggdfgdfgfdgdfg%f",newTouch.x);
NSLog(@"yyyyyyggdfgdfgfdgdfg%f",newTouch.y);
xDif = newTouch.x - lastTouch.x;
yDif = newTouch.y - lastTouch.y;
}
CGAffineTransform translate = CGAffineTransformMakeTranslation(xDif, yDif);
[self setTransform: CGAffineTransformConcat([self transform], translate)];
}
答案 1 :(得分:0)
你可以使用计时器{
pos = CGPointMake(7.0,14.0); timer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(onTimer)userInfo:nil repeats:YES]; }
并使用选择器
调用该方法- (无效)的OnTimer { image.center = CGPointMake(image.center.x + pos.x,image.center.y + pos.y); if(image.center.x> 320 || image.center.x< 0) pos.x = -pos.x;
if (image.center.y>460 || image.center <0 )
pos.y=-pos.y;
}
由此你可以在iphone屏幕上移动图像并使用触摸移动来保存该图像