我正在尝试使用Xcode为iPhone应用创建效果,但不确定它的名称是什么。
我会尽我所能地描述它:
这是我可以在Xcode中使用的现有效果吗?
感谢。
答案 0 :(得分:2)
问:
这是我可以在Xcode中使用的现有效果吗?
A:无
然而,一种方法是从" 轻弹"创建 CGVector 。手势。然后将矢量作为冲动力应用于您轻弹" 轻弹"。以下内容适用于 SpriteKit 但是从" flick "获取矢量的原则。其他框架可以采用手势。
#define FLICK_SCALAR 0.5 // tweak this to alter sensitivity
我们需要一个辅助结构 -
typedef struct TouchData {
CGPoint point;
NSTimeInterval time;
} TouchData;
属性 -
@property TouchData touchOriginData;
// Touch Handling
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// store the start data
for (UITouch *touch in touches) {
_touchOriginData.point = [touch locationInNode:self];
_touchOriginData.time = [touch timestamp];
}
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
// store the end data
TouchData touchEndData;
for (UITouch *touch in touches) {
touchEndData.point = [touch locationInNode:self];
touchEndData.time = touch.timestamp;
}
// calculate the impulse vector from TouchData structs
NSTimeInterval timeTaken = touchEndData.time - _touchOriginData.time;
CGFloat vector_x = (touchEndData.point.x - _touchOriginData.point.x) / timeTaken * FLICK_SCALAR;
CGFloat vector_y = (touchEndData.point.y - _touchOriginData.point.y) / timeTaken * FLICK_SCALAR;
CGVector impulseVector = CGVectorMake(vector_x, vector_y);
// fire projectile node
[self someMethodThatFiresWithVector:impulseVector];
}
答案 1 :(得分:0)
我会说像沙狐球一样的物理学。查看cocos2d的物理和精灵处理。看起来某人的版本有效http://www.cocos2d-iphone.org/forums/topic/an-interesting-and-free-game-hishuffle/。
答案 2 :(得分:0)