我正在尝试使用Xcode为iPhone应用程序创建效果,但不知道它叫什么。

我将尽我所能描述它:

  • 目标是在屏幕上滑动一个球以击中目标
  • 用户不应该一直拖动它,因为那样太容易了
  • 用户释放触摸后,球才应开始移动
  • 用户“滑动”对象的速度越快,它应该移动的越快

这是我可以在Xcode中使用的现有效果吗?

谢谢。

===============>>#1 票数:2 已采纳

问:

这是我可以在Xcode中使用的现有效果吗?

答:没有

但是,一种方法是从“ 轻弹 ”手势创建CGVector 然后将向量作为脉冲力施加到您“ 轻弹 ”的对象上。 以下是与SpriteKit一起使用的,但是从“ 轻弹 ”手势获取矢量的原理也可以用于其他框架。

#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];
}

===============>>#2 票数:0

我会说是沙狐球般的物理学。 查看cocos2d了解物理和精灵处理。 似乎有人使用的版本为http://www.cocos2d-iphone.org/forums/topic/an-interesting-and-free-game-hishuffle/

===============>>#3 票数:0

它称为弹弓效果,您可以通过使用游戏开发框架(例如Cocos2dSpriteKit)来实现

Cocos2D教程链接

SpriteKit教程链接

  ask by S.D translate from so

未解决问题?本站智能推荐:

1回复

这种拖曳效应被称为什么以及执行该拖曳效应所需的必要动作?

好吧,我现在在寻找资源来执行这种拖曳效果上有些困惑。 效果是这样的: 触摸SKSpriteNode并按住 然后拖动到要移动SKSpriteNode的位置 最终,您松开手势,该节点将沿直线移动(以直线运动)到您希望延迟移动的位置,以便在松开手指时可以看到节点移动。
1回复

为什么向视图控制器的这种推送不起作用? [关闭]

知道为什么向视图控制器的这种推送无法正常工作吗?
3回复

UIAnimation非线性效应

所以我想做一个视图逐渐淡出的UI动画。 现在我有这样的事情 所以现在在这2秒的过程中,视图将线性逐渐淡出。 但是我想让它淡出是非线性的。 例如,我希望它开始慢慢消失,然后随着时间的推移逐渐消失。 我该怎么做?
1回复

Cocos2d - iPhone上的月食效应

我有一个关于实现像月食这样的效果的问题。 效果应该在这个gif的前几秒看起来像。 就像一个越过圆圈的黑色阴影。 理想的情况是一个函数,我可以通过百分比传递一个参数,将这个数量作为圆圈上的阴影: 我面临的问题是我的背景是渐变。 所以不可能有一个黑色圆圈在月球上移动以获得效果。
1回复

精灵效应后调用segue

我是目标C的新手,我正在尝试通过做一些教程来提高自己的速度,以提高速度。 我现在正在使用Ciechan / BCGenieEffect的 Genie效果。 我想我理解了实现,因为它似乎对我有用,但是我有一个问题,动画结束后如何触发序列。 我使用的代码如下: 我按下一个按钮来调用
2回复

这种视图样式可能吗?

我需要一个这样的屏幕:始终在顶部,始终有一个搜索栏。 在下面,有一个导航控制器。 这可能吗? 我试图调整IB中导航控制器的大小,但无法调整其大小。 谢谢。
1回复

在哪里测试这种情况?

我想测试玩家的身体何时移动到屏幕上的某个点,并在他们这样做时调用gameOver节点。 我尝试将它放在触摸开始方法中,但之后每次用户触摸它之后它将继续添加gameOver节点。 我也尝试将它放在-(void)update:(CFTimeInterval)currentTime方法中,
1回复

核心地块用这种填充?

对于核心图的这种填充有什么解决方案吗? 我知道可以用颜色填充图像,但是当填充图像时,它将覆盖xAxis majorGridLineStyle。任何人都可以说有更好的解决方案, 谢谢
1回复

为什么这种布局模棱两可?

我有一个带有一些标签和图像视图的基本单元。 我使用视觉格式语言添加了约束,但是在运行时却变得模棱两可。 到底是怎么回事?! 这是我的_autolayoutTrace: 以下是影响前两个UILabel的约束:
1回复

如何通过使用ReactiveCocoa满足这种情况

我遇到一种情况,我想将事件从特定的原始信号拆分为两个信号,一个立即发出事件,另一个延迟3秒发出事件。 其他起源事件始终会立即发出一个新事件。 但是,如果在发出延迟事件之前,新事件已到达原始信号,则应丢弃延迟事件。 像这样的东西 我将每个原始信号映射到CS1(用于立即发射的事件)