【问题标题】:Setting Moving Range on spritenode在 spritenode 上设置移动范围
【发布时间】:2014-01-25 10:44:16
【问题描述】:

我想知道如何根据从发射器全 x 轴的块大小来设置移动球的范围。 我的意思是方块 x 的大小可能是 ex.120pixels,所以它需要重新计算这个方块的完整发射器范围,不要让球移动到方块之外。

 ball.position =  CGPointMake(emitter.position.x*(block3.size.width/200),currentY);

此代码不起作用,我测试了一些想法,但最后我在这里寻求解决方案,寻找有用的答案。问候

【问题讨论】:

    标签: ios objective-c sprite-kit


    【解决方案1】:

    如果您还没有为您的球节点创建一个自定义类。

    在该类中重写setPosition: 方法并添加位置验证方法。

    -(void)setPosition:(CGPoint)position
    {
        CGPoint adaptedPosition = [self verifyAndAdaptPosition:position];
        [super setPosition:adaptedPosition];
    }
    
    -(CGPoint) verifyAndAdaptPosition:(CGPoint)position
    {
        //Here you can do the math and verify and adapt the position as nesecary
        return position;
    }
    

    【讨论】:

    • 从您提供的信息中,我无​​法确切知道您想要做什么(在球需要适合的内部)。并且为了调整位置,您应该首先检查给定位置是否符合您的要求(在矩形或圆形内),如果它不适合您使用 CGPointMake 制作一个新的 CGPoint,这是符合要求的最近点。除非您明确指定要求,否则我无法为您提供太多帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多